category_description

Позволяет изменить описание категории для отображения
Хук WordPress
INT 1.2.0
WordPress Icon

Описание хука

Хук «category_description» позволяет изменить описание категории для отображения. Он вызывается перед выводом описания категории на странице. Хук позволяет определить новое описание или изменить существующее описание перед его отображением.

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

apply_filters( 'category_description', string $description, WP_Term $category )

Функция apply_filters() вызывает хук «category_description» и передает в него два параметра: $description (строка) — описание категории, и $category (объект WP_Term) — объект категории.

  • $description (string) — Описание категории.
  • $category (WP_Term) — Объект категории.
<?php
/**
 * Функция, вызываемая хуком "category_description".
 *
 * @param string   $description Описание категории.
 * @param WP_Term  $category    Объект категории.
 * @return string  Измененное описание категории.
 */
function custom_category_description( $description, $category ) {
    // Ваш код для изменения описания категории.
    // Например, добавление дополнительного текста.
    $description .= ' Дополнительный текст';
    return $description;
}
add_filter( 'category_description', 'custom_category_description', 10, 2 );

В приведенном примере кода определена функция «custom_category_description», которая является обработчиком хука «category_description». Функция принимает два параметра: $description (строка) — описание категории, и $category (объект WP_Term) — объект категории. Внутри функции можно изменить описание категории, например, добавив дополнительный текст. Затем измененное описание возвращается из функции.

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

Изменение описания категории перед отображением


function modify_category_description( $description, $category ) {
    // Изменяем описание категории
    $modified_description = 'Modified description: ' . $description;
    return $modified_description;
}
add_filter( 'category_description', 'modify_category_description', 10, 2 );

В данном примере мы используем хук category_description для изменения описания категории перед его отображением. Функция modify_category_description принимает два параметра: $description — описание категории в виде строки, и $category — объект категории. Внутри функции мы изменяем описание категории, добавляя к нему префикс «Modified description: «. Затем модифицированное описание возвращается и отображается на странице.

Форматирование описания категории перед выводом


function format_category_description( $description, $category ) {
    // Форматируем описание категории
    $formatted_description = '<p>' . $description . '</p>';
    return $formatted_description;
}
add_filter( 'category_description', 'format_category_description', 10, 2 );

В данном примере мы используем хук category_description для форматирования описания категории перед его выводом. Функция format_category_description принимает два параметра: $description — описание категории в виде строки, и $category — объект категории. Внутри функции мы оборачиваем описание категории в тег <p>, чтобы оно отображалось как абзац. Затем отформатированное описание возвращается и выводится на странице.

Добавление дополнительной информации в описание категории


function add_additional_info_to_category_description( $description, $category ) {
    // Добавляем дополнительную информацию в описание категории
    $additional_info = 'Additional information: Lorem ipsum dolor sit amet.';
    $modified_description = $description . ' ' . $additional_info;
    return $modified_description;
}
add_filter( 'category_description', 'add_additional_info_to_category_description', 10, 2 );

В данном примере мы используем хук category_description для добавления дополнительной информации в описание категории. Функция add_additional_info_to_category_description принимает два параметра: $description — описание категории в виде строки, и $category — объект категории. Внутри функции мы создаем переменную $additional_info, содержащую дополнительную информацию, и затем объединяем ее с описанием категории. Модифицированное описание возвращается и отображается на странице.

Перевод описания категории на другой язык


function translate_category_description( $description, $category ) {
    // Переводим описание категории на другой язык
    $translated_description = __( $description, 'text-domain' );
    return $translated_description;
}
add_filter( 'category_description', 'translate_category_description', 10, 2 );

В данном примере мы используем хук category_description для перевода описания категории на другой язык. Функция translate_category_description принимает два параметра: $description — описание категории в виде строки, и $category — объект категории. Внутри функции мы используем функцию __() для перевода описания на другой язык, указывая соответствующий текстовый домен. Переведенное описание возвращается и отображается на странице.

Удаление HTML-тегов из описания категории


function remove_html_tags_from_category_description( $description, $category ) {
    // Удаляем HTML-теги из описания категории
    $stripped_description = wp_strip_all_tags( $description );
    return $stripped_description;
}
add_filter( 'category_description', 'remove_html_tags_from_category_description', 10, 2 );

В данном примере мы используем хук category_description для удаления HTML-тегов из описания категории. Функция remove_html_tags_from_category_description принимает два параметра: $description — описание категории в виде строки, и $category — объект категории. Внутри функции мы используем функцию wp_strip_all_tags() для удаления всех HTML-тегов из описания. Очищенное описание возвращается и отображается на странице.

Вопросы и ответы

Как изменить описание категории перед выводом?

Для изменения описания категории перед его выводом на странице, можно использовать хук category_description. Этот хук позволяет изменить описание категории, применяя фильтр к нему перед его отображением.

Для использования хука category_description необходимо вызвать функцию apply_filters() и передать ей два параметра: строку $description с текущим описанием категории и объект $category класса WP_Term, представляющий текущую категорию.

Пример использования хука category_description:


function custom_category_description( $description, $category ) {
    // Ваш код для изменения описания категории
    return $description;
}
add_filter( 'category_description', 'custom_category_description', 10, 2 );

Как получить описание категории в шаблоне?

Для получения описания категории в шаблоне можно использовать функцию category_description(). Эта функция возвращает описание текущей категории.

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


$category = get_queried_object();
$description = category_description( $category );
echo $description;

Как добавить дополнительные данные в описание категории?

Для добавления дополнительных данных в описание категории можно использовать хук category_description. Этот хук позволяет изменить описание категории, добавив к нему дополнительные данные.

Пример использования хука category_description для добавления дополнительных данных:


function add_additional_data_to_category_description( $description, $category ) {
    // Получение дополнительных данных
    $additional_data = get_additional_data();
    // Добавление дополнительных данных к описанию категории
    $description .= ' Дополнительные данные: ' . $additional_data;
    return $description;
}
add_filter( 'category_description', 'add_additional_data_to_category_description', 10, 2 );

Как отформатировать описание категории перед выводом?

Для отформатирования описания категории перед его выводом можно использовать хук category_description. Этот хук позволяет изменить описание категории перед тем, как оно будет отображено на странице.

Пример использования хука:


function custom_category_description( $description, $category ) {
    // Ваш код для изменения описания категории
    return $description;
}
add_filter( 'category_description', 'custom_category_description', 10, 2 );

Как удалить описание категории?

Для удаления описания категории можно использовать хук category_description. При помощи этого хука можно вернуть пустую строку вместо описания категории.

Пример использования хука:


function remove_category_description( $description, $category ) {
    return '';
}
add_filter( 'category_description', 'remove_category_description', 10, 2 );

Как добавить ссылку в описание категории?

Для добавления ссылки в описание категории можно использовать хук category_description. При помощи этого хука можно изменить описание категории, добавив ссылку.

Пример использования хука:


function add_link_to_category_description( $description, $category ) {
    // Ваш код для добавления ссылки в описание категории
    $description .= ' <a href="https://example.com">Ссылка</a>';
    return $description;
}
add_filter( 'category_description', 'add_link_to_category_description', 10, 2 );

Как использовать HTML в описании категории?

Описание категории в WordPress может содержать HTML-теги, что позволяет разработчикам создавать более интерактивные и красочные описания.

Например, чтобы добавить ссылку на другую страницу в описание категории, можно использовать тег <a>:


$category_description = get_category_description( $category_id );
echo $category_description;

В результате будет выведено описание категории с активной ссылкой.

Как изменить описание категории с помощью фильтра?

Хук «category_description» позволяет изменить описание категории перед его отображением.

Для этого нужно добавить функцию-фильтр, которая будет принимать описание категории и объект категории в качестве параметров:


function custom_category_description( $description, $category ) {
    // Ваш код для изменения описания категории
    return $description;
}
add_filter( 'category_description', 'custom_category_description', 10, 2 );

В этом примере мы создали функцию «custom_category_description», которая принимает описание категории и объект категории. Внутри функции вы можете изменить описание категории по своему усмотрению и вернуть измененное описание.

Как получить объект категории в фильтре category_description?

В фильтре «category_description» можно получить объект категории, который содержит информацию о текущей категории.

Для этого нужно использовать второй параметр функции-фильтра, который будет представлять объект категории:


function custom_category_description( $description, $category ) {
    // Получение ID категории
    $category_id = $category->term_id;
    
    // Получение имени категории
    $category_name = $category->name;
    
    // Ваш код для работы с объектом категории
    return $description;
}
add_filter( 'category_description', 'custom_category_description', 10, 2 );

В этом примере мы получаем ID и имя текущей категории с помощью объекта категории «$category». Вы можете использовать эти данные для дальнейшей обработки или отображения информации о категории.

Хук «category_description» в WordPress позволяет изменять описание категории перед его отображением. С помощью этого хука вы можете использовать HTML в описании категории, изменять описание по своему усмотрению и получать объект категории для дальнейшей обработки.

Связанные элементы

  • Функция get_category(): возвращает объект категории по указанному идентификатору.
  • Функция get_categories(): возвращает массив объектов категорий.
  • Функция wp_insert_category(): добавляет новую категорию в базу данных.
  • Функция wp_update_category(): обновляет информацию о существующей категории.
  • Хук category_link: позволяет изменить ссылку на категорию.
  • Класс WP_Term: представляет термин (категорию) в WordPress.
Обсуждение