Intereting Posts
Дополнительный контент каждые x комментариев Скрытие Краткое описание на странице магазина, WooCommerce Экранирование специальных символов end / or nesting html / xml тегов в shortcodes и его аргументы в WP Пользователи с пользовательскими ролями не могут читать комментарии друг друга Как добавить дополнительный коэффициент для проверки подлинности WordPress Как добавить раскрывающийся список ролей пользователей при регистрации в wordpress Использование функций из плагина в вашей теме Изменить размер редактора Редактирование изображения на экране редактирования CPT Могу ли я установить Google Analytics, прежде чем принимать решение по теме? Explode Content в определенном HTML-элементе проблема при попытке добавить ++ 1 для пользователя meta Firebug и Chrome отображают два тега тела Мини-тема Jetpack – Javascript не работает Как сделать обновление постоянных ссылок из кода? Ускорить WordPress

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

В моей теме используется пользовательская таксономия, называемая «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' );