WordPress: как показать родительскую категорию в метаданных поста?

У меня есть сайт WP здесь: http://www.undergroundsound.com.au

Как вы можете видеть, каждый пост на первой странице говорит: «Опубликовано в дочерних категориях». Я бы хотел, чтобы он сказал что-то вроде «Опубликовано в« родительской категории »-« дочерних категориях »».

Это код, который необходимо отредактировать в content.php:

<?php printf( __( 'Posted in %1$s', 'underground_sound' ), $categories_list ); ?>

Любая помощь приветствуется. Спасибо за чтение.


person John Daly    schedule 21.06.2013    source источник
comment
Покажите, что вы пробовали до сих пор.   -  person Micha    schedule 21.06.2013
comment
Где вы берете $categories_list?   -  person Hugh Downer    schedule 21.06.2013
comment
Извините, я не понимаю, что вы имеете в виду. Этот код находится в content.php, который отображает сообщения на главной странице.   -  person John Daly    schedule 21.06.2013
comment
Я изменил свой ответ ниже для вас с кодом, который вам нужно добавить/отредактировать   -  person Hugh Downer    schedule 21.06.2013


Ответы (1)


Попробуйте это: (взято из этого сообщения: функция Wordpress для получить категорию сообщения верхнего уровня?):

поместите это в свой файл functions.php внизу перед закрывающим тегом ?>

function get_top_category() {
    $cats = get_the_category(); // category object
    $top_cat_obj = array();

    foreach($cats as $cat) {
        if ($cat->parent == 0) {
            $top_cat_obj[] = $cat;  
        }
    }
    $top_cat_obj = $top_cat_obj[0];
    return $top_cat_obj;
}

Измените свой content.php:

<?php $top_cat = get_top_category();?>

<?php printf( __( 'Posted in %1$s', 'underground_sound' ), $top_cat->slug .' - '.$categories_list ); ?>
person Hugh Downer    schedule 21.06.2013
comment
Это просто отображает родительскую категорию, но я не могу вставить ее, как будто она находится в нужной мне области кода. - person John Daly; 21.06.2013
comment
Хорошо, а где сейчас код, отображающий дочерние категории? Если вы опубликуете это, я обновлю его для вас - person Hugh Downer; 21.06.2013
comment
Извините, ваша отредактированная версия не работает. Вы можете увидеть результат здесь: designated.net.au/testbed/undergroundsound. - person John Daly; 21.06.2013
comment
Родительская категория не отображается, и внизу страницы появляется ошибка PHP. - person John Daly; 21.06.2013
comment
Я также включил последнюю фигурную скобку, которую вы оставили вне кода для functions.php. Почему-то у моих функций php нет ?› в конце, интересно почему. - person John Daly; 21.06.2013
comment
Ошибка исчезла, но родительская категория не отображается. Он отображается, если я отмечаю его в сообщении, но он также отображается в дочерних категориях. Вы не должны отмечать родительские категории в WordPress, только дочерние категории. Также это просто текст, а не ссылка, когда она отображается. - person John Daly; 21.06.2013