_get_list_table

The timeline below displays how wordpress function _get_list_table has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetches an instance of a WP_List_Table class.
 *
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class_name The type of the list table, which is the class name.
 * @param array  $args       Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return WP_List_Table|false List table object on success, false if the class does not exist.
 */
function _get_list_table($class_name, $args = array())
{
    $core_classes = array(
        // Site Admin.
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        'WP_Application_Passwords_List_Table' => 'application-passwords',
        // Network Admin.
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
        // Privacy requests tables.
        'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests',
        'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests',
    );
    if (isset($core_classes[$class_name])) {
        foreach ((array) $core_classes[$class_name] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        /**
         * Filters the list table class to instantiate.
         *
         * @since 6.1.0
         *
         * @param string $class_name The list table class to use.
         * @param array  $args       An array containing _get_list_table() arguments.
         */
        $custom_class_name = apply_filters('wp_list_table_class_name', $class_name, $args);
        if (is_string($custom_class_name) && class_exists($custom_class_name)) {
            $class_name = $custom_class_name;
        }
        return new $class_name($args);
    }
    return false;
}

WordPress Version: 5.7

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetches an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array  $args  Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return WP_List_Table|false List table object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        // Site Admin.
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        'WP_Application_Passwords_List_Table' => 'application-passwords',
        // Network Admin.
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
        // Privacy requests tables.
        'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests',
        'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 5.6

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetches an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array  $args  Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return WP_List_Table|bool List table object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        // Site Admin.
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        'WP_Application_Passwords_List_Table' => 'application-passwords',
        // Network Admin.
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
        // Privacy requests tables.
        'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests',
        'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 5.4

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetches an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array  $args  Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return WP_List_Table|bool List table object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        // Site Admin.
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        // Network Admin.
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
        // Privacy requests tables.
        'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests',
        'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 5.3

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetches an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array  $args  Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return WP_List_Table|bool List table object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        //Site Admin
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        // Network Admin
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
        // Privacy requests tables
        'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests',
        'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 5.1

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetches an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array  $args  Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return WP_List_Table|bool List table object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        //Site Admin
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        // Network Admin
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 4.4

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetch an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array $args Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return object|bool Object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        //Site Admin
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => array('comments', 'post-comments'),
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        // Network Admin
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 4.3

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetch an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @global string $hook_suffix
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array $args Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return object|bool Object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        //Site Admin
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => 'comments',
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        // Network Admin
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}

WordPress Version: 3.7

/**
 * Helper functions for displaying a list of items in an ajaxified HTML table.
 *
 * @package WordPress
 * @subpackage List_Table
 * @since 3.1.0
 */
/**
 * Fetch an instance of a WP_List_Table class.
 *
 * @access private
 * @since 3.1.0
 *
 * @param string $class The type of the list table, which is the class name.
 * @param array $args Optional. Arguments to pass to the class. Accepts 'screen'.
 * @return object|bool Object on success, false if the class does not exist.
 */
function _get_list_table($class, $args = array())
{
    $core_classes = array(
        //Site Admin
        'WP_Posts_List_Table' => 'posts',
        'WP_Media_List_Table' => 'media',
        'WP_Terms_List_Table' => 'terms',
        'WP_Users_List_Table' => 'users',
        'WP_Comments_List_Table' => 'comments',
        'WP_Post_Comments_List_Table' => 'comments',
        'WP_Links_List_Table' => 'links',
        'WP_Plugin_Install_List_Table' => 'plugin-install',
        'WP_Themes_List_Table' => 'themes',
        'WP_Theme_Install_List_Table' => array('themes', 'theme-install'),
        'WP_Plugins_List_Table' => 'plugins',
        // Network Admin
        'WP_MS_Sites_List_Table' => 'ms-sites',
        'WP_MS_Users_List_Table' => 'ms-users',
        'WP_MS_Themes_List_Table' => 'ms-themes',
    );
    if (isset($core_classes[$class])) {
        foreach ((array) $core_classes[$class] as $required) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php';
        }
        if (isset($args['screen'])) {
            $args['screen'] = convert_to_screen($args['screen']);
        } elseif (isset($GLOBALS['hook_suffix'])) {
            $args['screen'] = get_current_screen();
        } else {
            $args['screen'] = null;
        }
        return new $class($args);
    }
    return false;
}