WP_MS_Themes_List_Table
- Since
- 3.1.0
- Source
wp-admin/includes/class-wp-ms-themes-list-table.php:17
Core class used to implement displaying themes in a list table for the network admin.
Compatibility
- WordPress
- since 3.1.0
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0).
Hooks and filters fired · 8
Every hook that fires from inside WP_MS_Themes_List_Table, in the order it appears in the class, grouped by the method that fires it.
WP_MS_Themes_List_Table::column_name()
- apply_filters( theme_action_links )filter line 687
- apply_filters( theme_action_links_{$stylesheet} )filter line 703
WP_MS_Themes_List_Table::column_autoupdates()
- apply_filters( theme_auto_update_setting_html )filter line 887
WP_MS_Themes_List_Table::single_row()
- do_action( after_theme_row )action line 1049
- do_action( after_theme_row_{$stylesheet} )action line 1064
Properties · 4
$site_idpublic$is_site_themespublic$has_itemsprivate$show_autoupdatesboolprotected- Whether to show the auto-updates UI.
Methods · 20
- __construct()Constructor.
- get_table_classes()Gets the list of CSS classes for the table tag.
- ajax_user_can()Checks if the current user has permissions to perform AJAX actions.
- prepare_items()Prepares the themes list for display.
- _search_callback()Filters a theme by the search term.
- _order_callback()Compares the order of two themes by a specific field.
- no_items()Displays the message when there are no items to list.
- get_columns()Gets the list of columns for the list table.
- get_sortable_columns()Gets the list of sortable columns for the list table.
- get_primary_column_name()Gets the name of the primary column.
- get_views()Gets the list of views (statuses) for the list table.
- get_bulk_actions()Gets the list of bulk actions for the list table.
- display_rows()Generates the list table rows.
- column_cb()Handles the checkbox column output.
- column_name()Handles the name column output.
- column_description()Handles the description column output.
- column_autoupdates()Handles the auto-updates column output.
- column_default()Handles default column output.
- single_row_columns()Handles the output for a single table row.
- single_row()Handles the output for a single table row.
Source code
class WP_MS_Themes_List_Table extends WP_List_Table { public $site_id; public $is_site_themes; private $has_items; /** * Whether to show the auto-updates UI. * * @since 5.5.0 * * @var bool True if auto-updates UI is to be shown, false otherwise. */ protected $show_autoupdates = true; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @global string $status The current theme status. * @global int $page The current page number. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { global $status, $page; parent::__construct( array( 'plural' => 'themes', 'screen' => $args['screen'] ?? null, ) ); $status = $_REQUEST['theme_status'] ?? 'all'; if ( ! in_array( $status, array( 'all', 'enabled', 'disabled', 'upgrade', 'search', 'broken', 'auto-update-enabled', 'auto-update-disabled' ), true ) ) { $status = 'all'; } $page = $this->get_pagenum(); $this->is_site_themes = 'site-themes-network' === $this->screen->id; if ( $this->is_site_themes ) { $this->site_id = isset( $_REQUEST['id'] ) ? (int) $_REQUEST['id'] : 0; } $this->show_autoupdates = wp_is_auto_update_enabled_for_type( 'theme' ) && ! $this->is_site_themes && current_user_can( 'update_themes' ); } /** * Gets the list of CSS classes for the table tag. * * @return string[] The list of CSS classes. */ protected function get_table_classes() { // @todo Remove and add CSS for .themes. return array( 'widefat', 'plugins' ); } /** * Checks if the current user has permissions to perform AJAX actions. * * @return bool True if the current user has permissions, false otherwise. */ public function ajax_user_can() { if ( $this->is_site_themes ) { return current_user_can( 'manage_sites' ); } else { return current_user_can( 'manage_network_themes' ); } } /** * Prepares the themes list for display.Changelog
Introduced in 3.1.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-admin/includes/class-wp-ms-themes-list-table.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.