Intereting Posts
Должен ли я использовать многоуровневую установку для создания многоязычного сайта? Навигация по боковой панели с виджетами Отключить просмотр одиночной публикации для конкретной таксономии в пользовательском типе сообщения является ли wpdb-> replace () уже дезинфицированным? Плагин инициализации плагина многократно срабатывает Отправка писем multipart (text / html) через wp_mail () скорее всего приведет к запрету вашего домена Поврежденное навигационное меню? Массовые регистрации в моем блоге. Отключить определенный домен? Установить значение по умолчанию для переключателя в пользовательском мета-окне WP Alchemy? Multisite – Храните пользователей только на своем сайте WP Query с несколькими категориями – передача массива работает? Как показать post_title с помощью get_permalink? Поддомен WordPress MultiSite на localhost XAMPP включен: 8080 с IIS с портом 80 Получить записи по автору wp_nav_menu показать только 1 сообщение

Как добавить текущий пользовательский таксономии к телу

В моей теме используется пользовательская таксономия, называемая «kbsection», и есть множество разделов (вместо категорий). Существует также пользовательский тип сообщения, и должности назначаются разделам.

Мне нужно погладить заголовок по-разному в зависимости от того, к какому разделу (разделам) принадлежит сообщение. Так что сообщения, принадлежащие разделу A, имеют другой заголовок заголовка, чем те, что относятся к разделу B и т. Д. Если сообщение принадлежит более чем одному разделу, не имеет значения, какой из них он выбирает. Он всегда может быть первым в массиве.

Я предполагаю, что мне нужно, чтобы получить текущий «раздел» slug и как-то добавить его как класс тела. Я пробовал много разных методов, и никто не работает для меня. Я нашел фрагмент кода ниже, но, конечно, это работает только для категорий, а не для моих «разделов». Пожалуйста помоги.

add_filter('body_class','add_category_to_single'); function add_category_to_single($classes, $class) { if (is_single() ) { global $post; foreach((get_the_category($post->ID)) as $category) { // add category slug to the $classes array $classes[] = $category->category_nicename; } } // return the $classes array return $classes; } 

Solutions Collecting From Web of "Как добавить текущий пользовательский таксономии к телу"

Вы можете следовать аналогичному подходу с get_the_terms . Вот функция.

 function add_taxonomy_to_single( $classes ) { if ( is_single() ) { global $post; $my_terms = get_the_terms( $post->ID, 'custom-taxonomy' ); if ( $my_terms && ! is_wp_error( $my_terms ) ) { foreach ($my_terms as $term) { $classes[] = $term->slug; } } return $classes; } } add_filter( 'body_class', 'add_taxonomy_to_single' ); 

Не забудьте изменить название вашей пользовательской таксономии в приведенном выше коде. Например, я использовал custom-taxonomy .

ИЗМЕНИТЬ 1:

Чтобы добавить первое имя таксономии в класс тела, здесь это обновленный код.

 function add_taxonomy_to_single( $classes ) { if ( is_single() ) { global $post; $my_terms = get_the_terms( $post->ID, 'custom-taxonomy' ); if ( $my_terms && ! is_wp_error( $my_terms ) ) { $classes[] = $my_terms[0]->slug; } return $classes; } } add_filter( 'body_class', 'add_taxonomy_to_single' );