WP_List_Table::__construct() WordPress Method

This method is used to setup the list table class and its properties. It takes two parameters, an array of columns and an array of sortable columns.

WP_List_Table::__construct( array|string $args = array() ) #

Constructor.


Description

The child class should call this constructor from its own constructor to override the default $args.


Top ↑

Parameters

$args

(array|string)(Optional)Array or string of arguments.

  • 'plural'
    (string) Plural value used for labels and the objects being listed. This affects things such as CSS class-names and nonces used in the list table, e.g. 'posts'.
  • 'singular'
    (string) Singular label for an object being listed, e.g. 'post'. Default empty
  • 'ajax'
    (bool) Whether the list table supports Ajax. This includes loading and sorting data, for example. If true, the class will call the _js_vars() method in the footer to provide variables to any scripts handling Ajax events. Default false.
  • 'screen'
    (string) String containing the hook name used to determine the current screen. If left null, the current screen will be automatically set. Default null.

Default value: array()


Top ↑

More Information

This sets default arguments and filters. Developers should override this, calling the parent constructor to provide values for singular and plural labels, as well as whether the class supports AJAX.


Top ↑

Source

File: wp-admin/includes/class-wp-list-table.php

	public function __construct( $args = array() ) {
		$args = wp_parse_args(
			$args,
			array(
				'plural'   => '',
				'singular' => '',
				'ajax'     => false,
				'screen'   => null,
			)
		);

		$this->screen = convert_to_screen( $args['screen'] );

		add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 );

		if ( ! $args['plural'] ) {
			$args['plural'] = $this->screen->base;
		}

		$args['plural']   = sanitize_key( $args['plural'] );
		$args['singular'] = sanitize_key( $args['singular'] );

		$this->_args = $args;

		if ( $args['ajax'] ) {
			// wp_enqueue_script( 'list-table' );
			add_action( 'admin_footer', array( $this, '_js_vars' ) );
		}

		if ( empty( $this->modes ) ) {
			$this->modes = array(
				'list'    => __( 'Compact view' ),
				'excerpt' => __( 'Extended view' ),
			);
		}
	}


Top ↑

Changelog

Changelog
VersionDescription
3.1.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.