get_the_archive_title() WP 4.1.0

Отримує заголовок архівної сторінки на основі типу сторінки (мітка, рубрика, дата).

Функція вміє працювати з усіма типами архівних сторінок, включаючи: рубрики, мітки, таксономії, рік, місяць, день, формати постів (галерея, фото, відео, аудіо), архів типу посту.

Текст передається як рядок перекладу (пр: __( ‘Category: %s’ ) ).

Якщо потрібно відразу вивести текст на екран, використовуйте the_archive_title() .

Основа для:
the_archive_title()

Повертає

Строку. Рядок, заголовок сторінки.

Використання

$archive_title = get_the_archive_title();

Приклади

1

#1 Заголовок для всіх типів архівних сторінок відразу

Припустимо у нас у шаблоні один файл index.php, обробляє всі архівні сторінки і нам потрібно вказати для кожної їх різний заголовок, наприклад:

  • Якщо категорія, то: “Категорія: оптимізація”

  • Якщо мітка, то: “Мітка: коддинг”

  • Якщо архів за роком, то: “Рік: 2104”

До версії 4.1 ми це робили за допомогою комбінації умов if…else… і умовних тегів , але тепер ми можемо використовувати лише один рядок:

<h1><?php echo get_the_archive_title() ?></h1>
0

#2 Видалимо префікс заголовка архівів

add_filter( 'get_the_archive_title_prefix', '__return_empty_string');

Тепер, якщо раніше виводило "Категория: Оптимизация", то виведе просто "Оптимизация".

Цей фільтр потрібно викликати перед викликом цієї функції, щоб коли вона спрацює, фільтр вже був створений.

Або змінимо префікс заголовка архівної сторінки
<?php add_filter( 'get_the_archive_title_prefix', fn( $prefix ) => 'Розділ:' ); ?>
<h1><?= get_the_archive_title() ?></h1>

Тепер, якщо раніше виводило "Категория: Оптимизация", то виведе "Раздел: Оптимизация".

список змін

З версії 4.1.0Введено.
З версії 5.5.0The title part is wrapped in aelement.

get the archive title WP 6.0.2

function get_the_archive_title() { $title = __( 'Archives' ); $prefix = ''; if ( is_category() ) { $title = single_cat_title('', false); $prefix = _x( 'Category:', 'category archive title prefix' ); } elseif (is_tag()) { $title = single_tag_title('', false); $prefix = _x( 'Tag:', 'tag archive title prefix' ); } elseif (is_author()) { $title = get_the_author(); $prefix = _x( 'Author:', 'author archive title prefix' ); } elseif ( is_year() ) { $title = get_the_date( _x( 'Y', 'yearly archives date format' ) ); $prefix = _x( 'Year:', 'date archive title prefix' ); } elseif (is_month()) { $title = get_the_date( _x( 'F Y', 'monthly archives date format' ) ); $prefix = _x( 'Month:', 'date archive title prefix' ); } elseif (is_day()) { $title = get_the_date( _x( 'F j, Y', 'daily archives date format' ) ); $prefix = _x( 'Day:', 'date archive title prefix' ); } elseif ( is_tax( 'post_format' ) ) { if ( is_tax( 'post_format', 'post-format-aside' ) ) { $title = _x( 'Asides', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) { $title = _x( 'Galleries', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-image' ) ) { $title = _x( 'Images', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-video' ) ) { $title = _x( 'Videos', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-quote' ) ) { $title = _x( 'Quotes', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-link' ) ) { $title = _x( 'Links', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-status' ) ) { $title = _x( 'Statuses', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-audio' ) ) { $title = _x( 'Audio', 'post format archive title' ); } elseif ( is_tax( 'post_format', 'post-format-chat' ) ) { $title = _x( 'Chats', 'post format archive title' ); } } elseif ( is_post_type_archive() ) { $title = post_type_archive_title('', false); $prefix = _x( 'Archives:', 'post type archive title prefix' ); } elseif ( is_tax() ) { $queried_object = get_queried_object(); if ($ queried_object) { $tax = get_taxonomy( $queried_object->taxonomy ); $title = single_term_title('', false); $prefix = sprintf( /* translators: %s: Taxonomy singular name. */ _x( '%s:', 'taxonomy term archive title prefix' ), $tax->labels->singular_name ); } } $original_title = $title; /** * Filters the archive title prefix. * * @ Since 5.5.0 * * @param string $prefix Archive title prefix. */ $prefix = apply_filters( 'get_the_archive_title_prefix', $prefix ); if ( $prefix ) { $title = sprintf( /* translators: 1: Title prefix. 2: Title. */ _x( '%1$s %2$s', 'archive title' ), $prefix, '<span>' . $title . '</span>' ); } /** * Filters the archive title. * * @ Since 4.1.0 * @since 5.5.0 Added the `$prefix` and `$original_title` parameters. * * @param string $title Archive title to be displayed. * @param string $original_title Archive title without prefix. * @param string $prefix Archive title prefix. */ return apply_filters( 'get_the_archive_title', $title, $original_title, $prefix); }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *