Учебники

Пользовательские цвета ячеек таблицы в панели администратора WordPress

Пользовательские цвета ячеек таблицы в панели администратора WordPress

Я всегда думал, что было бы интересно иметь возможность изменять цвет фона строк сообщений в соответствии с разными критериями в администрации WordPress. Итак, я осмотрелся и нашел несколько руководств по этому поводу. Но плохо то, что в каждом туториале был один и тот же код, вероятно, просто скопировать и вставить. Более того, после нескольких тестов я увидел, что все эти сообщения были неполными. Вот почему я решил углубиться в объяснение того, как добавлять определенные цвета фона в строку сообщений. И для этого мы создадим новый плагин!

Шаг 1. Плагин

Итак, для начала нам нужно создать плагин, как мы видели в моих предыдущих сообщениях, это самая простая часть. Создайте новую папку в wp-content / plugins и назовите ее «color-my-posts». Внутри него создайте новый файл и назовите его…. «Color-my-posts.php» (пожалуйста, не думайте, что у меня нет воображения!). Откройте этот файл и добавьте этот код:

<?php /* Plugin Name: Color My Posts Plugin URL: http://remicorson.com/color-my-posts Description: A little plugin to color post rows depending on the posts' status in the administration Version: 0.1 Author: Remi Corson Author URI: http://remicorson.com Contributors: corsonr tags: color, customization, administration, corsonr, remi corson */

Это просто говорит WordPress о том, что в папке плагинов есть новый плагин под названием «Color My Posts». Теперь ваш плагин, даже если он пустой, должен быть указан в списке плагинов в меню «Плагины». На следующем этапе мы собираемся создать простой класс для создания экземпляра плагина.

Шаг 2: основной класс

Поскольку мы создали класс в моем руководстве по добавлению настраиваемых атрибутов в меню WordPress, нам нужно сделать то же самое и создать класс, вот как это сделать:

class rc_color_my_posts { /*--------------------------------------------* * Constructor *--------------------------------------------*/ /** * Initializes the plugin */ function __construct() { add_action('admin_footer', array( &$this,'rc_color_my_admin_posts') ); } // end constructor function rc_color_my_admin_posts(){ /* Be patient! */ } } // instantiate plugin's class $GLOBALS['color_my_posts'] = new rc_color_my_posts();

Здесь мы создаем класс под названием «rc_color_my_posts», который содержит конструктор и функцию под названием rc_color_my_admin_posts(). В конструкторе мы подключаем функцию rc_color_my_admin_posts () к admin_footer. Это означает, что наша функция будет учтена при загрузке нижнего колонтитула администрирования. Теперь все, что нам нужно сделать, это добавить код CSS в нашу функцию. Этот код будет напечатан непосредственно в исходном коде административных страниц WordPress.

Шаг 3. Стилизация постов

Как я уже говорил, во всех руководствах, посвященных стилю строки сообщений в администрации WordPress, которую я видел, мы имели дело только со статусом публикации. Это правда, вы можете стилизовать строку сообщений по статусу публикации, но не только. Для тех, кому интересно, есть функция get_post_class () в основном файле /wp-includes/post-template.php. На всякий случай – не изменяйте код этого файла (по крайней мере, пока)!

Эта функция get_post_class () великолепна, потому что она отвечает за определение пост-классов. Эта функция используется в администрировании и во внешнем интерфейсе. Вот как добавить собственный код CSS для каждого класса, сгенерированного get_post_class:

function rc_color_my_admin_posts(){ ?> <style> /* Color by post Status */ .status-draft { background: #ffffe0 !important;} .status-future { background: #E9F2D3 !important;} .status-publish {} .status-pending { background: #D3E4ED !important;} .status-private { background: #FFECE6 !important;} .post-password-required { background: #ff9894 !important;} /* Color by author data */ .author-self {} .author-other {} /* Color by post format */ .format-aside {} .format-gallery {} .format-link {} .format-image {} .format-quote {} .format-status {} .format-video {} .format-audio {} .format-chat {} .format-standard {} /* Color by post category (change blog by the category slug) */ .category-blog {} /* Color by custom post type (change xxxxx by the custom post type slug) */ .xxxxx {} .type-xxxxx {} /* Color by post ID (change xxxxx by the post ID) */ .post-xxxxx {} /* Color by post tag (change xxxxx by the tag slug) */ .tag-xxxxx {} /* Color hAtom compliance */ .hentry {} </style> <?php }

Поскольку этот код несложный, я добавил комментарии в сам код. Итак, в основном, чтобы стилизовать строки:

  • Статус сообщения, используйте .status-xxx, где xxx – статус сообщения.
  • Автор, используйте .author-self для таргетинга на сообщения, которые вы написали, и .author-other для сообщений, написанных другими авторами.
  • Формат сообщения: используйте .format-xxx, где xxx – формат сообщения.
  • Категория публикации, используйте .category-xxx, где xxx – это ярлык категории, вы можете настроить таргетинг на любое количество категорий.
  • Тип сообщения, используйте .xxx или .type-xxx, где xxx – это ярлык типа сообщения, вы можете настроить таргетинг на любое количество CPT.
  • Идентификатор сообщения, используйте .post-xxx, где xxx – идентификатор сообщения, вы можете настроить таргетинг на столько сообщений, сколько хотите
  • Опубликовать тег, используйте .tag-xxx, где xxx – это ярлык тега, вы можете настроить таргетинг на любое количество тегов.
  • .hentry используется для соответствия требованиям hAtom

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

А как насчет липких сообщений?

Когда я работал над этим маленьким плагином, я заметил, что к прикрепленным сообщениям не добавлен класс. Ну хоть в администрации. Итак, я снова зашел в файл post-template.php и увидел, что к прикрепленному посту добавлен класс .sticky, но только если is_home () &&! Is_paged ()… почему? Это действительно странно. Именно по этой причине я создал заявку на основной трек WordPress, чтобы упомянуть об этом. Для тех, кто действительно хочет иметь возможность стилизовать прикрепленные сообщения в админке, просто добавьте этот код в функцию get_post_class (), даже если я рекомендую никогда не изменять файлы ядра WordPress:

// sticky for Sticky Posts in administration if (is_sticky($post->ID) && is_admin()) $classes[] = 'post-sticky';

Скачать плагин

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

Источник записи: https://www.wpexplorer.com

Похожие сообщения
Учебники

Добавление отвлекающего чтения в WordPress

Учебники

Как исключить таксономию из типа сообщения WordPress

Учебники

Добавление пользовательских QuickTags WordPress

Учебники

Как добавить встроенную контентную рекламу в WordPress

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