Задать вопрос
heretic_man
@heretic_man

Как вывести метабоксы только в определенной категории (плагин Meta Box)?

В function.php вставляю это для подключения метабоксов, вот только в параметре 'post_types' можно задавать пост или страницу.
add_filter( 'rwmb_meta_boxes', 'prefix_register_meta_boxes' );
function prefix_register_meta_boxes( $meta_boxes ) {
    $prefix = 'field_prefix_';
    $meta_boxes[] = array(
        'id'         => 'portfolio_item',
        'title'      => 'Описание работы',
        'post_types' => 'post',  // post or page
        'context'    => 'normal',
        'priority'   => 'high',

        'fields' => array(
            array(
                'name'  => 'Объект',
                'id'    => $prefix . 'object',
                'type'  => 'text',
            ),
        )
    );


    return $meta_boxes;
}


А если мне нужно отображать поля только в определенной категории? или вообще только в определенном шаблоне??

В документации вычитал, что можно использовать вот такое свойство - 'taxonomies' => 'uncategorized' вместо 'post_types' => 'post' но оно у меня не работает. Выводит во всех категориях.
  • Вопрос задан
  • 443 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
vova87
@vova87
Разработка сайтов на wordpress
А чем не устраивает is_tax ?

if( is_tax( $taxonomy, $term ) ){

}
Ответ написан
azerphoenix
@azerphoenix
Java Software Engineer
Здравстуйте!
Параметр post_types это не только post & page, но и все возможные кастомные типа запсей. Например, product.
Вам правильно ответили, что можно использовать условные теги для подключения метабоксов.
https://wp-kama.ru/function/is_tax
Сработает на архивной странице таксономии (если речь идет о пользовательской таксономии), а если вы хотите применить для рубрики (тип записи "Запись"), то используйте is_category()
https://wp-kama.ru/function/is_category
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы