Функция get_category_by_slug()
используется для получения объекта категории на основе её слага (альтернативного названия). Это удобно для работы с категориями, так как слаг часто используется в URL.
get_category_by_slug( string $slug ): object|false
Параметры
- $slug (string) (обязательный)
Альтернативное название (слаг) категории, которое используется в URL.
Возвращаемое значение
- object|false — Возвращает объект данных категории в случае успеха или
false
, если категория не найдена.
Описание
Функция позволяет получить данные категории, зная только её слаг. Она полезна, когда нужно работать с категориями на основе их URL-структуры. В случае успеха возвращает объект, содержащий все основные данные о категории, такие как ID, название, описание и количество записей в категории.
Функция является обёрткой над функцией get_term_by()
, которая используется для работы с терминами таксономий в WordPress.
Пример 1: Получение ID категории по слагу
В этом примере мы получаем объект категории по её слагу и выводим ID категории.
<?php
// Получим объект категории по слагу
$category = get_category_by_slug( 'nauka' );
// Проверяем, существует ли категория
if ( $category ) {
// Получаем ID категории
$category_id = $category->term_id;
echo 'ID категории: ' . $category_id;
} else {
echo 'Категория не найдена.';
}
?>
Пример 2: Получение имени и описания категории
Здесь мы получаем имя и описание категории по её слагу для дальнейшего использования в шаблоне.
<?php
// Получаем данные категории
$category = get_category_by_slug( 'tehnologii' );
if ( $category ) {
// Выводим имя категории
echo 'Название категории: ' . $category->name . '<br>';
// Выводим описание категории
echo 'Описание категории: ' . $category->description;
} else {
echo 'Категория не найдена.';
}
?>
Пример 3: Полный объект категории
В этом примере мы демонстрируем, как выглядит объект категории, возвращаемый функцией get_category_by_slug()
, и что он содержит.
<?php
// Получим объект категории по её слагу
$category = get_category_by_slug( 'muzyka' );
if ( $category ) {
echo '<pre>';
print_r( $category );
echo '</pre>';
} else {
echo 'Категория не найдена.';
}
?>
Результат может выглядеть так:
WP_Term Object
(
[term_id] => 15
[name] => Музыка
[slug] => muzyka
[term_group] => 0
[term_taxonomy_id] => 15
[taxonomy] => category
[description] => Все о музыке
[parent] => 0
[count] => 23
[filter] => raw
[cat_ID] => 15
[category_count] => 23
[category_description] => Все о музыке
[cat_name] => Музыка
[category_nicename] => muzyka
[category_parent] => 0
)
Заключение
Функция get_category_by_slug()
предоставляет простой способ получения информации о категории на основе её слага. Это особенно полезно при разработке тем и плагинов, где категории идентифицируются через URL-структуру.