ldc-sbv/wp-admin/includes/class-wp-list-table-compat.php

68 lines
1.5 KiB
PHP
Raw Normal View History

2017-08-08 12:06:05 +02:00
<?php
/**
* Helper functions for displaying a list of items in an ajaxified HTML table.
*
* @package WordPress
* @subpackage List_Table
* @since 4.7.0
*/
/**
2021-09-21 15:01:08 +02:00
* Helper class to be used only by back compat functions.
2017-08-08 12:06:05 +02:00
*
* @since 3.1.0
*/
class _WP_List_Table_Compat extends WP_List_Table {
public $_screen;
public $_columns;
2021-09-21 15:01:08 +02:00
/**
* Constructor.
*
* @since 3.1.0
*
* @param string|WP_Screen $screen The screen hook name or screen object.
* @param string[] $columns An array of columns with column IDs as the keys
* and translated column names as the values.
*/
2017-08-08 12:06:05 +02:00
public function __construct( $screen, $columns = array() ) {
2021-09-21 15:01:08 +02:00
if ( is_string( $screen ) ) {
2017-08-08 12:06:05 +02:00
$screen = convert_to_screen( $screen );
2021-09-21 15:01:08 +02:00
}
2017-08-08 12:06:05 +02:00
$this->_screen = $screen;
2021-09-21 15:01:08 +02:00
if ( ! empty( $columns ) ) {
2017-08-08 12:06:05 +02:00
$this->_columns = $columns;
add_filter( 'manage_' . $screen->id . '_columns', array( $this, 'get_columns' ), 0 );
}
}
/**
2021-09-21 15:01:08 +02:00
* Gets a list of all, hidden, and sortable columns.
*
* @since 3.1.0
2017-08-08 12:06:05 +02:00
*
* @return array
*/
protected function get_column_info() {
2021-09-21 15:01:08 +02:00
$columns = get_column_headers( $this->_screen );
$hidden = get_hidden_columns( $this->_screen );
2017-08-08 12:06:05 +02:00
$sortable = array();
2021-09-21 15:01:08 +02:00
$primary = $this->get_default_primary_column_name();
2017-08-08 12:06:05 +02:00
return array( $columns, $hidden, $sortable, $primary );
}
/**
2021-09-21 15:01:08 +02:00
* Gets a list of columns.
*
* @since 3.1.0
2017-08-08 12:06:05 +02:00
*
* @return array
*/
public function get_columns() {
return $this->_columns;
}
}