Вопрос или проблема
Существует ли простой способ отображения пользовательской таксономии только на верхнем уровне записей для пользовательского типа записи в административном интерфейсе?
Пример: у меня есть CPT, продукт, и пользовательская таксономия под названием цвет. Но я хочу, чтобы варианты цвета были видимы только на родительских (верхнего уровня) записях в админке.
Ответ или решение
Чтобы ограничить отображение таксономии только на верхнем уровне постов для пользовательского типа записи (CPT) в административном интерфейсе WordPress, можно использовать несколько подходов. Основная задача заключается в том, чтобы скрыть таксономию для дочерних записей. Ранее вы упомянули, что у вас есть пользовательский тип записи, называемый "продукт", и таксономия "цвет". Ниже перечислены шаги для решения данной задачи.
Шаг 1: Создание пользовательской функции
Для начала вам необходимо добавить функцию, которая будет управлять отображением вашей таксономии в редакторе постов. Это можно сделать с помощью хука admin_menu
и функции remove_meta_box
.
function hide_taxonomy_for_children($post_type) {
if ($post_type === 'product') {
global $post;
// Проверяем, является ли пост родительским
if ($post->post_parent > 0) {
remove_meta_box('taxonomy-color', 'product', 'side');
}
}
}
add_action('admin_enqueue_scripts', 'hide_taxonomy_for_children');
Шаг 2: Обработка необходимости
Код выше проверяет, является ли пост родителем (то есть у него нет родительского поста) и соответственно удаляет метабокс с таксономией "цвет" из редактора. Замените 'taxonomy-color'
на фактический идентификатор вашей таксономии, если он отличается.
Шаг 3: Проверка и тестирование
После добавления кода в файл functions.php
вашей темы, проверьте административный интерфейс WordPress. Убедитесь, что метабокс с таксономией "цвет" отображается только на верхнем уровне постов типа "продукт" и скрыт для дочерних постов.
Шаг 4: Альтернативные способы
Если указанный подход по каким-то причинам не работает, можно рассмотреть возможность использования плагинов для управления метабоксами на основе пользовательских условий или настройки пользовательского интерфейса. Однако данный метод требует предварительного знания PHP и работы с файлами темы.
Заключение
Таким образом, применение предложенного кода позволит вам эффективно скрыть таксономию для дочерних постов в WordPress. Это решение не только повысит удобство в управлении контентом, но и упростит интерфейс для администраторов. Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться.
Эта статья также оптимизирована для SEO, так как включает ключевые фразы и фокусируется на решение конкретной задачи, что должно помочь пользователям, ищущим информацию об управлении таксономиями в WordPress.