В этой статье мы подробно рассмотрим, как создать уникальный тип записи (custom post type) в WordPress и добавить для него уникальную цветовую метку, которая будет отображаться в админке. Это поможет вам структурировать контент и визуально выделять записи определённого типа. Такой подход полезен для сайтов с разнообразным контентом, например, премиум-блоги, каталоги или сайты с обзорами.
Что такое кастомные типы записей и зачем нужны уникальные цвета?
Кастомные типы записей расширяют стандартную функциональность WordPress, позволяя создавать новые виды контента, отличные от обычных постов и страниц. Это может быть портфолио, отзывы, товары, мероприятия и многое другое.
Уникальный цвет в админке для каждого типа записи помогает быстро ориентироваться, особенно если у вас много различных типов контента. Это улучшает удобство администрирования и повышает эффективность работы с сайтом.
Регистрация кастомного типа записи с помощью PremiumWP
Для регистрации кастомного типа записи мы создадим функцию с префиксом premiumwp_, чтобы избежать конфликтов с другими функциями. Ниже пример создания типа записи premium_post с ярким синим цветом в меню админки.
function premiumwp_register_custom_post_type() {
$labels = array(
'name' => 'Премиум записи',
'singular_name' => 'Премиум запись',
'menu_name' => 'Премиум записи',
'name_admin_bar' => 'Премиум запись',
'add_new' => 'Добавить новую',
'add_new_item' => 'Добавить новую запись',
'new_item' => 'Новая запись',
'edit_item' => 'Редактировать запись',
'view_item' => 'Просмотреть запись',
'all_items' => 'Все записи',
'search_items' => 'Поиск записей',
'not_found' => 'Записи не найдены',
'not_found_in_trash' => 'Записи в корзине не найдены',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'premium_post'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'menu_icon' => 'dashicons-star-filled',
'supports' => array('title', 'editor', 'thumbnail'),
);
register_post_type('premium_post', $args);
}
add_action('init', 'premiumwp_register_custom_post_type');
Обратите внимание, что в 'menu_icon' вы можете выбрать любую иконку из Dashicons, а в 'menu_position' — позицию меню.
Добавление уникального цвета для типа записи в админке
Для выделения нашего типа записи цветом, добавим CSS в админку. Это позволит визуально отличать пункты меню и записи определённого типа.
function premiumwp_custom_post_type_admin_color() {
echo '<style>
#adminmenu .menu-icon-premium_post div.wp-menu-image:before {
color: #0073aa !important; /* синий цвет PremiumWP */
}
#adminmenu #menu-posts-premium_post:hover,
#adminmenu #menu-posts-premium_post.wp-has-current-submenu {
background-color: #0073aa !important;
color: #fff !important;
}
#adminmenu #menu-posts-premium_post:hover div.wp-menu-image:before,
#adminmenu #menu-posts-premium_post.wp-has-current-submenu div.wp-menu-image:before {
color: #fff !important;
}
</style>';
}
add_action('admin_head', 'premiumwp_custom_post_type_admin_color');
Этот код меняет цвет иконки и фона пункта меню для нашего типа записи. Цвет можно менять на любой, используя HEX-коды.
Подсветка цветом в списке записей
Чтобы записи нашего типа были выделены цветом не только в меню, но и в списке записей, добавим цветной бордер строкам таблицы.
function premiumwp_color_rows_custom_post_type($classes, $post) {
if ($post->post_type === 'premium_post') {
$classes .= ' premiumwp-row-highlight';
}
return $classes;
}
add_filter('post_class', 'premiumwp_color_rows_custom_post_type', 10, 2);
function premiumwp_admin_custom_styles() {
echo '<style>
.premiumwp-row-highlight {
border-left: 4px solid #0073aa !important;
}
</style>';
}
add_action('admin_head-edit.php', 'premiumwp_admin_custom_styles');
Теперь каждая запись типа premium_post в списке будет иметь слева синюю цветную полосу.
Пример использования плагина Clearfy Pro для управления кастомными типами записей
Если вы используете плагин Clearfy Pro, то в нём есть удобные инструменты для управления кастомными типами записей без написания кода. Вы можете создавать, редактировать и удалять типы записей, а также назначать им иконки и цвета.
Это существенно упрощает работу с типами записей, особенно на проектах с большим количеством контента. Но если нужна максимальная кастомизация и лёгкость в переносе, рекомендуется регистрировать типы записи через код, как мы показали выше.
Итоговые рекомендации по работе с кастомными типами записей и цветами
- Всегда используйте префиксы в названиях функций, чтобы избежать конфликтов (например,
premiumwp_). - Подбирайте цвета и иконки, которые логично соотносятся с типом контента и дизайном админки.
- Тестируйте отображение в разных браузерах и разрешениях экрана.
- Для сложных проектов используйте плагины, например, Clearfy Pro, для удобного управления без кода.
- Не забывайте о безопасности и производительности: регистрируйте только нужные типы и не перегружайте админку.
Следуя этим советам, вы сможете легко создавать уникальные типы записей с индивидуальным оформлением и улучшать взаимодействие с админкой WordPress.