Меню

WordPress вывести наименование категории

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

single_cat_title() — функция для вывода названия текущей категории

Функция работает только на страницах категорий, меток и архивах других таксономий, при этом она должна находиться вне цикла.

То есть, если функция была использована на странице архива категорий — то она выведет/вернёт название текущей категории, на странице архива меток — название текущей метки, на странице архива другой таксономии — название текущего элемента таксономии.

Вывести название текущего элемента таксономии вы также можете функцией single_term_title().

Как вывести имя категории вне цикла, если известен только ID? Легко, для этого используем функцию get_category().

Если же нужно вывести названия рубрик записи, то вам в помощь функции get_the_category() и the_category().

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

Не поленюсь сделать скриншот — в итоге в исходном HTML-коде (Ctrl + U) получаем вот что:

Читайте также:  Как вывести функцию рыночного спроса

Как видите, имя категории выводится без ссылки.

Выводимое значение функции также можно записать в переменную:

В итоге получится то же самое, что и в предыдущем примере.

Фильтры single_cat_title, single_tag_title, single_term_title

В случае, если функция single_cat_title() была использована на странице какой-нибудь рубрики, к выводимому результату можно применить фильтр:

Если на странице метки:

Для остальных таксономий:

Определение типа текущей страницы производится условными тегами is_category(), is_tag() и is_tax().

$term->name (строка) название текущей рубрики / метки или элемента таксономии.

Небольшой пример — давайте для рубрики с всегда будем выводить заголовок с HTML-классом cat5 , а для всех остальных категорий — просто заголовок

, в таком случае код будет следующим:

Перед тем, как будете что-то менять через фильтры, обратите внимание, что single_cat_title() может также использоваться в других местах сайта, например при заполнении тега .

Функция single_term_title()

Начиная с версии WordPress 3.1, функция single_cat_title() работает на основе single_term_title(), причем она использует эту функцию как есть, без каких-либо дополнительных действий с аргументами. Следующий код взят из файла движка WordPress general-template.php :

Значения по умолчанию параметров $prefix и $display у функции single_term_title() точно такие же, поэтому, если хотите, для вывода названий меток и рубрик вы можете использовать её — абсолютно никакой разницы нет, разве что появятся какие-нибудь изменения в следующих версиях WordPress.

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Источник

Вывод названия текущей категории в WordPress

Готовые PHP для вывода названий текущей категории в записях WordPress. Вывод разделов в зависимости от глубины подраздела, в которой находится запись.

Есть стандартная функция для вывода категорий на WordPress:

Она выводит список всех категорий через запятую.

А что если нужно вывести только определенный вложенный (дочерний) или только главный раздел? И совсем не нужно выводить все предыдущие разделы. В этом случае the_category уже не подойдет.

Сделать это можно другими способами.

Вывести название только самого главного раздела

Этот код следует вставить в файл functions.php своей темы на WordPress.

function get_level($category, $level = 1)
<
if ($category->category_parent == 0) <
return $level;
> else <
$level++;
$category = get_category($category->category_parent);
return get_level($category, $level);
>
>

function display_cat_level_1($link=false) <
$cats = get_the_category( );
if( $cats ) <
foreach($cats as $cat) <
$current_cat_level = get_level($cat);
if( $current_cat_level == $level = 1 ) <
if($link==true) <
echo ‘cat_ID).'»>’.$cat->name.» «;
> else <
echo $cat->name.»
«;
>
>
>
>
>

Вывод этой функции:

Следующий код необходимо использовать в файле single.php или любом другом отвечающим за вывод информации в статье на сайте.

Вывести название только дочернего раздела

Функция не будет работать для записей второй категории вложенности. Только для записей третей категории вложенности. Иными словами будет выводиться только для записей такого рода:

Категории Марки -> Audi -> Статья об Ауди

Читайте также:  Чем чистят клапанную крышку

В данном случае код выведет для записи «Статья об Ауди» раздел с названием Audi. А если какая-то статья будет находится только в разделе Марки, то для неё выводится ничего не будет.

function get_level($category, $level = 1)
<
if ($category->category_parent == 0) <
return $level;
> else <
$level++;
$category = get_category($category->category_parent);
return get_level($category, $level);
>
>

function display_cat_level_2($link=false) <
$cats = get_the_category( );
if( $cats ) <
foreach($cats as $cat) <
$current_cat_level = get_level($cat);
if( $current_cat_level == $level = 2 ) <
if($link==true) <
echo ‘cat_ID).'»>’.$cat->name.» «;
> else <
echo $cat->name.»
«;
>
>
>
>
>

Вывод этой функции:

Вывод родительской категории в статьях

Можно выводить разделы другим способом. В этом случае не нужно ничего вставлять в файл functions.php. Достаточно вставить код в файл вывода записей.

Вывод названия последнего раздела для статьи

Этот php код выводит название самой «глубокой» категории для статьи:

ID);
foreach($categories as $category) :
$children = get_categories( array (‘parent’ => $category->term_id ));
$has_children = count($children);
if ( $has_children == 0 ) <

Выводим в статье только подразделы

А вот ещё один способ как вывести в статье только подразделы.

foreach($categories as $category) :
$children = get_categories( array (‘parent’ => $category->term_id ));
$has_children = count($children);

if ( $has_children == 0 ) <
echo $category->cat_name .’ ‘;
break; // Останавливаем после первого найденного объекта. Если нужны все, то строчку нужно закомментировать.
>
endforeach;

Читайте также

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

Источник

single_cat_title() WP 0.71

Выводит на экран заголовок рубрики или метки. Используется за пределами цикла. Предназначена для страниц архивов.

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

Используется за пределами Цикла WordPress.

Возвращает

Строку|null . Строку: текст, заголовок рубрики. Или NULL, если заголовка нет или его не удалось получить.

Использование

Примеры

#1 Выведем название рубрики или метки на странице архивов

Этот пример выведет текст «Вы просматриваете: WordPress», где WordPress — это название текущей категории:

#2 Запишем название рубрики в переменную

Пример того, как можно записать название рубрики в переменную $current_category, т.е. не выводить его на экран (устанавливаем второй параметр на 0).

Список изменений

Код single_cat_title() single cat title WP 5.8.1

Cвязанные функции

Рубрики

Таксономии: рубрики, метки, .

Вопрос по функции- А если я в урл использую вот такую схему:
http://мой сайт.ru/?tag=russkie-uzhasy,russkaya-fantastika

тогда он берет только первый тег — и выводит /Вы просматриваете «Русские ужасы»/ — как заставить чтоб он показывал и второй тег? Данный вид ведь показывает записи и «Русской фантастики»

В инете нигде решения не нашел

Не понял причем тут single_cat_title ?

В чем задача состоит вообще? Нужно сделать страницу где бы выводились записи сразу из двух меток? Если так, то есть 2 варианта:

Создайте третью метку и помещайте туда записи относящиеся к любой из этих меток;

Читайте также:  Как вывести глисты йорку
  • Добавьте в УРЛ еще один параметр, где указывайте нужные вам рубрики (?my_tags=russkie-uzhasy,russkaya-fantastika). Затем, создайте спец. страницу с отдельным выводом через query_posts(), специально под эти нужды.
  • Вот пример: http://beoff.ru/?tag=russkie-uzhasy,russkaya-fantastika — тут выводится посередине над записями «Русские ужасы:«, но ведь следующая запись идет уже из Русской фантастики (анонс фильма Фантом), а заголовок получается противоречит.

    Третью метку создать не вижу смысла — таких комбинаций будет очень много и в итоге меток из 52х штук (как сейчас) станет в разы больше

    Второй вариант также не подойдет т.к. придется также делать кучу страниц под это дело.

    И что хочу я сделать: на отдельной странице сделать кучу ссылок. Например 2011 азия, 2010 азия, 2009 азия (понятно что это метки и урл будет вида ?tag=2009+azia) 2011 индия, 2010 индия, ну и т.д..

    Хотелось бы конечно, с помощью плагина, чтобы чекбоксами выбиралось несколько меток и выводился результат — по вхождению одной из меток (?tag=russkie-uzhasy,russkaya-fantastika) или строгое совпадение 2х меток в записи (?tag=russkie-uzhasy+russkaya-fantastika)

    Источник

    get_the_category — функция для вывода категорий (рубрик) к указанному посту

    Функция возвращает массив объектов (в данном случае рубрики, в которых находится пост с указанным в параметрах ID).

    Короче говоря в итоге вы получаете все рубрики поста и информацию о них.

    Использование

    Параметры

    $post_id
    (целое) ID поста, если функция используется в цикле, этот параметр необязателен.

    Возвращает массив объектов WP_Term

    Как я уже говорил, функция возвращает массив объектов WP_Term , каждый из них содержит информацию об одной из рубрик, в которой находится пост.

    В скобках указаны эквивалентные варианты.

    • term_ID (cat_ID) — ID рубрики,
    • name (cat_name) — название рубрики,
    • slug (category_nicename) — ярлык категории,
    • description (category_description) — описание категории,
    • parent (category_parent) — ID родительской категории,
    • count (category_count) — количество записей (постов) в рубрике,
    • term_group — значение колонки term_group в базе данных,
    • term_taxonomy_id — ID таксономии, у рубрик он равен 1,
    • taxonomy — название таксономии, для рубрик — category,
    • object_id — ID объекта;

    Примеры

    Выводим список рубрик со ссылками

    Переменной $post_id задайте своё значение, либо просто удалите её оттуда, если используете этот код внутри цикла.

    Для получения URL рубрики используем функцию get_category_link().

    Выводим список рубрик к текущему посту через запятую

    Функция trim() нужна для удаления каких-либо символов по краям строки, в данном случае запятую с пробелом.

    Указываем ссылку только на первую рубрику, в которой находится пост

    К каждому объекту массива $categories можно обратиться по порядковому номеру, нумерация начинается с нуля.

    Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

    Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

    Источник