wppaste
WordPress

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.

Properties · 4

$site_idpublic
$is_site_themespublic
$has_itemsprivate
$show_autoupdatesboolprotected
Whether to show the auto-updates UI.

Methods · 20

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 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.