@mvr1976
Учу html, css, js

Почему не работает single_cat_title()?

Добрый вечер!
Пытаюсь вывести на странице одиночной записи название категории, к которой она относится. Делаю это, как и написано в документации - за пределами цикла.
<h1 class="wood-craft-h1"><?php single_cat_title(); ?></h1> - не выводится
 <h2 class="wood-craft-h2"><?php single_post_title(); ?></h2> - выводится

Рядом похожая функция прекрасно работает. Находится все это в шаблоне header-inner.php, подключаемом к single.php. Неужели название категории можно вывести только в шаблоне категории?

Подскажите, что не так?
  • Вопрос задан
  • 466 просмотров
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Добрый.

Неужели название категории можно вывести только в шаблоне категории?

Да, на странице рубрики можно вывести название рубрики, на странице записи — название записи.

Подскажите, что не так?

Для вывода рубрик, к которым принадлежит запись, можно воспользоваться, например, функцией get_the_category().
Если нужно вывести только одну рубрику, то можно сделать так:
$categories = get_the_category();
 
if ( ! empty( $categories ) ) {
    echo esc_html( $categories[0]->name );   
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ravshanium
@ravshanium
аналитик, веб-программист
single_cat_title() Вызывает : single_term_title() , которая в свою очередь выполняет:
if ( is_category() ) {
        /**
         * Filters the category archive page title.
         *
         * @since 2.0.10
         *
         * @param string $term_name Category name for archive being displayed.
         */
        $term_name = apply_filters( 'single_cat_title', $term->name );


соответственно, либо ищите add_filter( 'single_cat_title' ... )

либо... выполняйте под отладкой...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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