wp-admin-list-table
Installation
SKILL.md
WordPress Admin List Table (WP_List_Table)
WP_List_Table is the base class behind every WP admin list — Posts, Pages, Users, Comments, Plugins. It is not declared abstract, but it is designed to be subclassed. Extending it gets you sortable columns, bulk actions, search, pagination, view filters, row actions, screen options, and the WP-native look — for free, with a few required overrides.
Two things make this hard for plugins. First, the class is in wp-admin/includes/ and is NOT autoloaded — you must require_once it. Second, the bulk-action flow has a security gap that most plugins miss, producing the canonical "delete any record by visiting a crafted URL" CSRF.
When to use this skill
Trigger when ANY of the following is true:
- The user is building an admin screen that lists plugin records (license keys, queued jobs, log entries, custom CPT meta dashboards, audit trails, sync history) and wants the WP-native table look.
- Code references
WP_List_Table,prepare_items,get_columns,column_default,column_cb,get_sortable_columns,get_bulk_actions,process_bulk_action,set_pagination_args,row_actions,extra_tablenav,search_box,screen_option,manage_$screen_columns_hidden. - The user says "I want a table like the Posts screen" / "with bulk delete" / "sortable by date" / "per-page in Screen Options".
- A code review surfaces a bulk-delete or bulk-anything path that doesn't
check_admin_referer( 'bulk-…' ).