Раскрашиваем список постов в панели администратора WordPress

Раскрашиваем список постов в панели администратора WordPress

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

Шаг 1. Плагин

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

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

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

Нам нужно создать класс, вот как это сделать:

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

Шаг 3. Создание стилей

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

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

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

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

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

Что о закрепленных записях?

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

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

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

comments powered by HyperComments