Отображать таксономию только на записях верхнего уровня

Вопрос или проблема

Существует ли простой способ отображения пользовательской таксономии только на верхнем уровне записей для пользовательского типа записи в административном интерфейсе?

Пример: у меня есть 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.

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

Капча загружается...