What is the recommended way of creating a page with a table, in the style of the tables showing posts or users in the admin area?
I am expanding the Cache Images plugin, and it contains a table with domains and a number of images from that domain. So there is no equivalent existing table that I can build upon (in the first version of this question, I asked about a table with posts, but there I could (maybe) expand the existing post table).
Should I just base myself on the post overview page, and start with a <table class="widefat">
, or are there better functions that handle this now? Do you know a clean, empty example of a table with paging that I could base my work on?
This is what I generally use:
<table class="widefat fixed" cellspacing="0">
<thead>
<tr>
<th id="cb" class="manage-column column-cb check-column" scope="col"></th> // this column contains checkboxes
<th id="columnname" class="manage-column column-columnname" scope="col"></th>
<th id="columnname" class="manage-column column-columnname num" scope="col"></th> // "num" added because the column contains numbers
</tr>
</thead>
<tfoot>
<tr>
<th class="manage-column column-cb check-column" scope="col"></th>
<th class="manage-column column-columnname" scope="col"></th>
<th class="manage-column column-columnname num" scope="col"></th>
</tr>
</tfoot>
<tbody>
<tr class="alternate">
<th class="check-column" scope="row"></th>
<td class="column-columnname"></td>
<td class="column-columnname"></td>
</tr>
<tr>
<th class="check-column" scope="row"></th>
<td class="column-columnname"></td>
<td class="column-columnname"></td>
</tr>
<tr class="alternate" valign="top"> // this row contains actions
<th class="check-column" scope="row"></th>
<td class="column-columnname">
<div class="row-actions">
<span><a href="#">Action</a> |</span>
<span><a href="#">Action</a></span>
</div>
</td>
<td class="column-columnname"></td>
</tr>
<tr valign="top"> // this row contains actions
<th class="check-column" scope="row"></th>
<td class="column-columnname">
<div class="row-actions">
<span><a href="#">Action</a> |</span>
<span><a href="#">Action</a></span>
</div>
</td>
<td class="column-columnname"></td>
</tr>
</tbody>
</table>
Hope that helps.