WordPress как на ладони

Получить ID или ярлык корневой родительской категории

В моем шаблоне вывод категории происходит так:

if ( ! function_exists( 'gridbox_meta_category' ) ) :
	/**
	 * Displays the category of posts
	 */
	function gridbox_meta_category() {

		return '<span class="meta-category"> ' . get_the_category_list( ', ' ) . '</span>';

	}
endif;

Нужно в <span class="meta-category"> добавить ID либо ярлык корневой (самой первой) рубрики. Чтобы было например так:

<span class="meta-category 123">

либо так

<span class="meta-category yarlyk">

0
Гость
7.3 года назад
  • 0
    Kama9619

    Так попробуй:

    if ( ! function_exists( 'gridbox_meta_category' ) ) :
    	/**
    	 * Displays the category of posts
    	 */
    	function gridbox_meta_category() {
    		// добавим классы корневой рубрики
    		$class = '';
    		$terms = get_the_category();
    		if( $terms ){
    			$term = array_shift( $terms );
    			$parent_id = $term->parent;
    			while( $parent_id ){
    				$term = get_term_by( 'id', $parent_id, $term->taxonomy );
    				$parent_id = $term->parent;
    			}
    
    			$class .= ' parent_cat_'. $parent_id;
    			$class .= ' parent_cat_'. $term->slug;
    		}
    
    		return '<span class="meta-category'. $class .'"> ' . get_the_category_list( ', ' ) . '</span>';
    	}
    endif;

    В результате будут добавлены классы: parent_cat_123 и parent_cat_yarlyk.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация