I'm developping a plugin to manage a base of users and I'd like to show them in the same type of table used in other parts of the WP admin (post lists, user lists, etc.), I'd like to have the same look and the if possible the column sorting too.
1 Answer
You came to this in a bad time of changes. Tables in admin are being migrated from the old and scary ways to new shiny List Tables API
using subclasses of WP_List_Table
.
Problem is - while classes are already in and being using core code, they are currently not meant for being used otherwise. Proper API for theme/plugin usage is planned, but I think it didn't make it in 3.2 version, so 3.3 (at best).
Your options are:
Do custom table, reuse CSS styling from core. Long run - leave as is or recode when
List Table API
is implemented and finalized.Extend appropriate
WP_List_Table
class with your own and use that. Long run - likely watch it explode at every following WP version from here untilList Table API
is implemented and finalized.
For simple things I'd prefer 1. But for complex stuff 2 is pretty much only way to go, because custom table is very hard to get right when a lot of global variables and other joys of admin side are involved.
-
This was discussed in the WordPress developer chat meeting of May 4th 2011, discussing the status of the 3.2 release. The most important line there comes from Marc Jaquith: "We'll do another release where list table API is "off limits" to third parties because it might change. Not the end of the world." May 19, 2011 at 10:25
-
Thanks for all the infos. And about columns sorting, is there a relatively easy way to implement it ?– mike23May 19, 2011 at 13:12
-
@mike23 via List Tables API sortable tables are relatively simple, no idea how complex it is with custom table.– RarstMay 19, 2011 at 13:18
WP_List_Table
. Unfortunately there are not that many resources on how to use it, so you will have to look at existing code for examples. I once asked how to do this with the old code, that question needs an updated answer now.