Настройка панели администрирования WordPress – списки объектов

СКАЧАТЬ ИСХОДНЫЕ ФАЙЛЫ

Это пятая из шести частей цикла "Пользовательская настройка панели администрирования WordPress":

1. Пользовательская настройка панели администрирования WordPress: Форма входа;

2. Пользовательская настройка панели администрирования WordPress: панель управления сайтом;

3. Настраиваем панель администрирования WordPress: пользовательское меню администрирования;

4. Настройка административной панели WordPress: текстовая справка;

5. Настройка панели администрирования WordPress – списки объектов;

6. Настраиваем панель администрирования WordPress – изменяем стиль элементов.

В этой, пятой по счету, статье, я покажу, как настраивать списки объектов (страниц, записей) в панели администрирования.

План работы:

  • Удаление столбцов из списка записей (отдельно для каждого типа записей);
  • Изменение размеров столбцов.

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

В итоге, это позволит получить многофункциональный инструмент для настройки панели администрирования WordPress.

Что вам понадобится для работы:

  • Установленный WordPress;
  • Доступ к папке с плагинами;
  • Текстовой редактор.

Настройка плагина

В начало кода плагина я добавлю следующие строки:

/*
Plugin Name: Настройка административной панели WordPress – списки объектов
Plugin URI: http://rachelmccollin.co.uk
Description: Данный плагин создан для примеров в данной статье. Он предоставляет возможность настройки
 списков объектов в административной панели WordPress.
Version: 1.0
Author: Rachel McCollin
Author URI: http://rachelmccollin.com
License: GPLv2
*/

1. Удаление столбцов из списка записей

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

Заметьте, что на этом скриншоте записи ссылаются на новостные элементы, потому что я задал это в третьей части данного цикла статей.

Удаление столбцов из списка записей

Колонка тегов не имеет данных, поэтому я ее удалю. Чтобы редактировать колонки, я буду использовать три хука:

  1. manage_posts_columns, для списка записей;
  2. manage_pages_columns, для списка страниц;
  3. manage_$post_type_posts_columns, для создаваемых пользователем типов записей.

Например, если у меня есть тип записи «cars», то я буду использовать хук manage_cars_post_type_columns.

В этой части статьи я буду использовать, соответственно, хук manage_posts_columns.

Добавьте в свой плагин следующие строки:

// Удаление столбца «Tags» из таблицы списка записей
function wptutsplus_remove_posts_listing_tags( $columns ) {
    unset( $columns[ 'tags' ] );
    return $columns;
}
add_action( 'manage_posts_columns', 'wptutsplus_remove_posts_listing_tags' );

Данный код удаляет столбец «Tags», как показано на изображении ниже:

Удаление столбцов из списка записей - 2

Столбец с комментариями на моем сайте также лишний, поэтому тоже будет удален. Для того, чтобы сделать это, вставьте следующий код в свой плагин:

// Удаление столбцов «Tags» и «Comments» из таблицы списка записей
function wptutsplus_remove_posts_listing_tags( $columns ) {
    unset( $columns[ 'tags' ] );
    unset( $columns[ 'comments' ] );
    return $columns;
}
add_action( 'manage_posts_columns', 'wptutsplus_remove_posts_listing_tags' );

На картинке ниже вы можете увидеть результат:

Ненужные колонки теперь удалены, но есть один момент: они освободили занимаемое ими ранее место, но оставшиеся колонки его не заняли, оставшись прежнего размера.

Заметка о добавлении столбца с таксономией к списку объектов

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

Вместо настройки окна вывода списка объектов, вам нужно установить для таксономии аргумент «show_admin_column» в значение «true» , когда вы ее регистрируете. Чтобы узнать подробности по этому вопросу, загляните на сайт Codex.

2. Изменение размеров столбцов

Я могу изменить размер столбцов, используя CSS. Вот классы, которые нужно для этого задействовать:

  • .fixed .column-author, для столбца «Author»
  • .fixed .column-categories, для столбца «Categories»
  • .edit-php, чтобы убедиться, что изменения коснулись только для определенных типов списков, тег <body> которых содержит класс .edit-php.

Я внес эти изменения, определив новые стили и активировав их с помощью хука admin_enqueue_scripts.

Добавьте следующие строки в ваш плагин:

// изменение размеров столбцов в таблице списка записей
function wptutsplus_post_listing_column_resize() { ?>
    <style type="text/css">
        .edit-php .fixed .column-author, .edit-php .fixed .column-categories {
            width: 15%;
        }
    </style>
<?php }
add_action( 'admin_enqueue_scripts', 'wptutsplus_post_listing_column_resize' );

Этот код изменяет размеры колонок таким образом, что они более эффективно используют доступное пространство.

Примечание: полезно писать CSS в отдельные файлы таблиц стилей, а затем вызывать их с помощью функций wp_register_style и wp_enqueue_style.

Заключение

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

Это сделает интерфейс более простым для восприятия пользователями. К тому же, им просто незачем видеть ненужные колонки на экране.

РедакцияПеревод статьи «Customizing the WordPress Admin - Listings Screens»