Как получить имена колонок таблицы пользователей администраторов WordPress в моем плагине

Вопрос или проблема

Я использовал это, чтобы получить имена столбцов таблицы пользователей.

таблица списка пользователей

add_filter( 'manage_users_columns', array($this , 'new_modify_user_table'));

public function new_modify_user_table( $column ) {
    $column  // массив имен столбцов, ищем этот массив вне страницы пользователей
}

Но хук manage_users_columns не срабатывает вне “/wp-admin/users.php”, это значит, что он работает только на странице “/wp-admin/users.php”, но не работает вне страницы пользователей.

Так как же мне получить имена столбцов таблицы пользователей в моем плагине? Или вне “/wp-admin/users.php”

Спасибо.

Да! Я решил эту проблему.

require_once( ABSPATH . 'wp-admin/includes/class-wp-users-list-table.php' ); 
$hmm = new WP_Users_List_Table( array( 'screen' => 'users' ) ); 
$hmm->get_column_info()[0] 

Ответ или решение

Чтобы получить имена столбцов таблицы пользователей WordPress в вашем плагине, вы действительно можете использовать класс WP_Users_List_Table, который предоставляется в административной части WordPress. Ваше решение, использующее WP_Users_List_Table, является правильным, и я расскажу о необходимости этого подхода более подробно.

Шаги для получения имен столбцов таблицы пользователей в плагине:

  1. Подключите необходимый файл
    Первым делом вам нужно подключить файл, который содержит класс WP_Users_List_Table. Это делается с помощью следующей строки кода:

    require_once( ABSPATH . 'wp-admin/includes/class-wp-users-list-table.php' );
  2. Создайте экземпляр класса
    Далее, создайте экземпляр класса WP_Users_List_Table, передав ему необходимые параметры, в данном случае это array( 'screen' => 'users' ):

    $user_list_table = new WP_Users_List_Table( array( 'screen' => 'users' ) );
  3. Получите информацию о столбцах
    После создания экземпляра класса вы можете получить информацию о столбцах, вызвав метод get_column_info(). Этот метод возвращает массив, содержащий информацию о столбцах. Находясь в контексте плагина, вы можете использовать следующий код:

    $columns_info = $user_list_table->get_column_info();

    В данном случае первый элемент массива $columns_info[0] будет содержать имена столбцов, которые вы ищете.

Полный пример кода

Теперь, когда все шаги ясны, вы можете использовать следующий полный пример кода для вашего плагина:

function get_user_table_columns() {
    require_once( ABSPATH . 'wp-admin/includes/class-wp-users-list-table.php' );

    // Создаем экземпляр списка пользователей
    $user_list_table = new WP_Users_List_Table( array( 'screen' => 'users' ) );

    // Получаем информацию о столбцах
    $columns_info = $user_list_table->get_column_info();

    // Извлекаем названия столбцов
    if ( isset( $columns_info[0] ) ) {
        return $columns_info[0]; // массив с именами столбцов
    }

    return array(); // Если по какой-то причине столбцы не найдены
}

// Используйте эту функцию, где вам нужно получить имена столбцов
$columns = get_user_table_columns();
foreach ($columns as $column_name) {
    echo $column_name . '<br />';
}

Заключение

С помощью приведенного выше метода вы сможете получить имена столбцов таблицы пользователей в вашем плагине вне контекста страницы /wp-admin/users.php. Этот подход помогает избежать ограничений, связанных с хуками, обеспечивая доступ к необходимым данным напрямую через класс WP_Users_List_Table.

Если у вас возникнут еще вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться!

Оцените материал
Добавить комментарий

Капча загружается...