X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f..9441756a895fb4fdc4bcf20e0d228cef622663ca:/wp-admin/includes/class-wp-list-table.php
diff --git a/wp-admin/includes/class-wp-list-table.php b/wp-admin/includes/class-wp-list-table.php
index 8d2bc51e..3a85f79d 100644
--- a/wp-admin/includes/class-wp-list-table.php
+++ b/wp-admin/includes/class-wp-list-table.php
@@ -1,69 +1,111 @@
get_column_info().
+ *
+ * @since 4.1.0
+ * @access protected
+ * @var array
+ */
+ protected $_column_headers;
+
+ /**
+ * {@internal Missing Summary}
+ *
+ * @access protected
+ * @var array
+ */
+ protected $compat_fields = array( '_args', '_pagination_args', 'screen', '_actions', '_pagination' );
+
+ /**
+ * {@internal Missing Summary}
+ *
+ * @access protected
+ * @var array
+ */
+ protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions',
+ 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination',
+ 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav',
+ 'single_row_columns' );
+
/**
* Constructor.
*
@@ -114,6 +156,13 @@ class WP_List_Table {
// wp_enqueue_script( 'list-table' );
add_action( 'admin_footer', array( $this, '_js_vars' ) );
}
+
+ if ( empty( $this->modes ) ) {
+ $this->modes = array(
+ 'list' => __( 'List View' ),
+ 'excerpt' => __( 'Excerpt View' )
+ );
+ }
}
/**
@@ -126,7 +175,9 @@ class WP_List_Table {
* @return mixed Property.
*/
public function __get( $name ) {
- return $this->$name;
+ if ( in_array( $name, $this->compat_fields ) ) {
+ return $this->$name;
+ }
}
/**
@@ -135,12 +186,14 @@ class WP_List_Table {
* @since 4.0.0
* @access public
*
- * @param string $name Property to set.
+ * @param string $name Property to check if set.
* @param mixed $value Property value.
* @return mixed Newly-set property.
*/
public function __set( $name, $value ) {
- return $this->$name = $value;
+ if ( in_array( $name, $this->compat_fields ) ) {
+ return $this->$name = $value;
+ }
}
/**
@@ -153,7 +206,9 @@ class WP_List_Table {
* @return bool Whether the property is set.
*/
public function __isset( $name ) {
- return isset( $this->$name );
+ if ( in_array( $name, $this->compat_fields ) ) {
+ return isset( $this->$name );
+ }
}
/**
@@ -165,7 +220,9 @@ class WP_List_Table {
* @param string $name Property to unset.
*/
public function __unset( $name ) {
- unset( $this->$name );
+ if ( in_array( $name, $this->compat_fields ) ) {
+ unset( $this->$name );
+ }
}
/**
@@ -179,12 +236,14 @@ class WP_List_Table {
* @return mixed|bool Return value of the callback, false otherwise.
*/
public function __call( $name, $arguments ) {
- return call_user_func_array( array( $this, $name ), $arguments );
+ if ( in_array( $name, $this->compat_methods ) ) {
+ return call_user_func_array( array( $this, $name ), $arguments );
+ }
+ return false;
}
/**
* Checks the current user's permissions
- * @uses wp_die()
*
* @since 3.1.0
* @access public
@@ -209,8 +268,10 @@ class WP_List_Table {
/**
* An internal method that sets all the necessary pagination arguments
*
- * @param array $args An associative array with information about the pagination
+ * @since 3.1.0
* @access protected
+ *
+ * @param array|string $args Array or string of arguments with information about the pagination.
*/
protected function set_pagination_args( $args ) {
$args = wp_parse_args( $args, array(
@@ -232,20 +293,23 @@ class WP_List_Table {
}
/**
- * Access the pagination args
+ * Access the pagination args.
*
* @since 3.1.0
* @access public
*
- * @param string $key
- * @return array
+ * @param string $key Pagination argument to retrieve. Common values include 'total_items',
+ * 'total_pages', 'per_page', or 'infinite_scroll'.
+ * @return int Number of items that correspond to the given pagination argument.
*/
public function get_pagination_arg( $key ) {
- if ( 'page' == $key )
+ if ( 'page' === $key ) {
return $this->get_pagenum();
+ }
- if ( isset( $this->_pagination_args[$key] ) )
+ if ( isset( $this->_pagination_args[$key] ) ) {
return $this->_pagination_args[$key];
+ }
}
/**
@@ -297,7 +361,7 @@ class WP_List_Table {
- 'search-submit') ); ?>
+ 'search-submit') ); ?>
screen->id, refers
+ * The dynamic portion of the hook name, `$this->screen->id`, refers
* to the ID of the current screen, usually a string.
*
* @since 3.5.0
@@ -338,6 +402,8 @@ class WP_List_Table {
if ( empty( $views ) )
return;
+ $this->screen->render_screen_reader_content( 'heading_views' );
+
echo "
$view";
@@ -374,7 +440,7 @@ class WP_List_Table {
/**
* Filter the list table Bulk Actions drop-down.
*
- * The dynamic portion of the hook name, $this->screen->id, refers
+ * The dynamic portion of the hook name, `$this->screen->id`, refers
* to the ID of the current screen, usually a string.
*
* This filter can currently only be used to remove bulk actions.
@@ -393,19 +459,19 @@ class WP_List_Table {
if ( empty( $this->_actions ) )
return;
- echo "";
- echo "