Функция post_type_archive_title() в WordPress: как использовать и что делает

Функция post_type_archive_title() в WordPress

Функция post_type_archive_title() предназначена для отображения или получения заголовка архива для определенного типа поста (например, для записей, статей, фильмов и т.д.). Эта функция оптимизирована для файлов шаблонов archive.php и archive-{post_type}.php, которые используются для отображения заголовка архива поста.

Что делает функция?

  • Возвращает строку: заголовок архива поста, если вы запросили его.
  • Выводит заголовок: если вы просто хотите отобразить его на экране.

Сигнатура функции

post_type_archive_title( $prefix, $display );

Параметры

  • $prefix (string): Текст, который будет отображаться перед заголовком. По умолчанию это пустая строка ''.
  • $display (bool): Определяет, нужно ли отображать заголовок или возвращать его. По умолчанию — true, то есть заголовок будет отображен.

Возвращаемые значения

  • string|null: Возвращает заголовок, если он запрашивается, и null, если заголовок отображается или произошла ошибка.

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

Предположим, у нас есть зарегистрированный тип поста «фильмы», который имеет метку "Movies" (фильмы), и параметр has_archive установлен в true. Если мы вызовем эту функцию на странице архива типа поста, например, http://example.com/movie, то увидим заголовок:

post_type_archive_title( 'Записи типа: ' );

Вывод: "Записи типа: Movies"

Код функции

Вот как выглядит реализация функции post_type_archive_title():


function post_type_archive_title( $prefix = '', $display = true ) {
if ( ! is_post_type_archive() ) {
return;
}

$post_type = get_query_var( 'post_type' );
if ( is_array( $post_type ) ) {
    $post_type = reset( $post_type );
}

$post_type_obj = get_post_type_object( $post_type );

/**
 * Фильтрует заголовок архива поста.
 *
 * @param string $post_type_name Метка типа поста.
 * @param string $post_type      Тип поста.
 */
$title = apply_filters( 'post_type_archive_title', $post_type_obj->labels->name, $post_type );

if ( $display ) {
    echo $prefix . $title;
} else {
    return $prefix . $title;
}

}

Похожие функции

В WordPress существует множество функций, которые могут быть полезны в работе с архивами постов. Вот некоторые из них:

  • get_post_type_archive_link(): ��олучает ссылку на архив типа поста.
  • get_the_archive_title(): Получает заголовок текущего архива.
  • is_archive(): Проверяет, является ли текущая страница архивом.
  • is_post_type_archive(): Проверяет, является ли текущая страница архивом конкретного типа поста.

Заметка

Для успешной работы этой функции необходимо, чтобы на сайте был установлен и правильно настроен тип поста, который вы хотите отобразить. Убедитесь, что в вашем коде имеются все необходимые параметры, такие как labels и has_archive.

Используйте post_type_archive_title() для удобного отображения заголовков архивов, что улучшает навигацию на вашем сайте и помогает пользователям легче находить нужные им типы контента.

Leave a Reply

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