Как вывести название (заголовок) категории в WordPress. Функции single_cat_title() и get_cat_name() и др.

В этой статье мы разберемся с выводом заголовков (названий) рубрик на различных страницах сайта на WordPress.

1. Первая ситуация – вам нужно вывести заголовок рубрики (таксономии) при разработке страницы категории, архивов, меток и кастомных таксономий.

Для этих целей используют несколько подходов.

Во-первых – это функция — single_cat_title(). Используется за пределами цикла и будет работать только на страницах таксономий.

Пример использования этой функции следующий:

<?php single_cat_title( $prefix, $display ); ?>

Основные параметры здесь $prefix(строка) – это текст, который будет находиться перед заголовком и $display(логический) – которые определяет, выводить ли на экран результат работы функции (1) или же скрыть и дать возможность использовать в последующей обработке кода.

На практике, чаще всего используют следующий подход:

<p><?php single_cat_title('Все статьи по теме: '); ?>.</p>

Если же вам нужно создать переменную с названием категории, метки или архива, то можно использовать следующий код.

<?php $current_category = single_cat_title('', 0); ?>

Аналогом данной функции в WordPress является функция — single_term_title(), которая была введена в движок, начиная с версии 3.1.

<?php single_term_title( $prefix = '', $display = true ) ?>

Она принимает точно такие же параметры, как и описана выше функция.

Еще один способ получения названия рубрики на странице самой рубрики это:

<?php
    if( is_category() )
	    echo get_queried_object()->name;
?>

2 ситуация – вывести название категории, если есть ее id.

Первая функция, которая поможет решить эту задачу — это get_cat_name().

<?php get_cat_name( $cat_id ) ?>

В качестве параметра она принимает id рубрики (таксономии) — $cat_id.

Пример использования данной функции:

<?php
    // получим
    $catname = get_cat_name(4);
    // используем в строке
    echo 'Вы находитесь в категории: '. $catname;
?>

Второй вариант – это использование функции — get_category().

Пример ее использования в этих целях.

<?php
    $category = get_category(7);
    echo $category->name;
?>

3 ситуация – вывести название рубрики на странице поста.

Для этих целей можно использовать функции: get_the_category() или же the_category().

Приведу несколько примеров того, как их можно использовать.

Вывод заголовка первой (основной) категории поста.

<?php
    $categories = get_the_category(); 
    if($categories[0]){
        echo '<a href="' . get_category_link($categories[0]->term_id ) . '">'. $categories[0]->name . '</a>';
    }
?>

Или так:

<?php $cat = get_the_category(); echo $cat[0]->cat_name; ?>

Если пост привязан к нескольким рубрикам, то их можно вывести через запятую.

<?php
    $categories = get_the_category();
    if($categories){
        foreach($categories as $category) {
            $out .= '<a href="'.get_category_link($category->term_id ).'">' . $category->name . '</a>, ';
        }
        echo trim($out, ', ');
    }
?>

Функция the_category(), принимает следующие параметры:

<?php the_category( $separator, $parents, $post_id ); ?>

Часто используют именно первый параметр $separator, где в строчном виде указывают разделитель между названиями категорий.

Например.

<?php 
    // Разделитель стрелка
    the_category(' » ');
    // Разделитель запятая
    the_category(' , ');
?>

На этом сегодня все. Теперь вы можете выводить название таксономий в любой удобный для вас способ, подбирая нужные функции под конкретно ваши задачи.

Поделиться в социальных сетях:
Нет комментариев к данной статье

Оставить новый комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *