get_the_archive_title() │ WP 4.1.0 Отримує заголовок архівної сторінки на основі типу сторінки (мітка, рубрика, дата).
Функція вміє працювати з усіма типами архівних сторінок, включаючи: рубрики, мітки, таксономії, рік, місяць, день, формати постів (галерея, фото, відео, аудіо), архів типу посту.
Текст передається як рядок перекладу (пр: __( ‘Category: %s’ ) ).
Якщо потрібно відразу вивести текст на екран, використовуйте the_archive_title() .
Повертає Строку
. Рядок, заголовок сторінки.
Використання $archive_title = get_the_archive_title ();Приклади #1 Заголовок для всіх типів архівних сторінок відразу
Припустимо у нас у шаблоні один файл index.php, обробляє всі архівні сторінки і нам потрібно вказати для кожної їх різний заголовок, наприклад:
Якщо категорія, то: “Категорія: оптимізація”
Якщо мітка, то: “Мітка: коддинг”
Якщо архів за роком, то: “Рік: 2104” До версії 4.1 ми це робили за допомогою комбінації умов if…else… і умовних тегів , але тепер ми можемо використовувати лише один рядок:
<h1 > <?php echo get_the_archive_title() ?> </h1 > #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.0 The title part is wrapped in a element.
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 (
_x ( '%s:' , 'taxonomy term archive title prefix' ),
$tax ->labels->singular_name
);
}
}
$original_title = $title ;
$prefix = apply_filters ( 'get_the_archive_title_prefix' , $prefix );
if ( $prefix ) {
$title = sprintf (
_x ( '%1$s %2$s' , 'archive title' ),
$prefix ,
'<span>' . $title . '</span>'
);
}
return apply_filters ( 'get_the_archive_title' , $title , $original_title , $prefix );
} Зв’язані функції