Функция возвращает URL (постоянную ссылку) страницы архива типа записи.
Страница архива – это страница, на которой автоматически выводятся все записи данного типа. Обычно имеет URL вида https://misha.agency/название_типа_записи
, но вместо названия типа записи по факту можно указать что угодно, задав это при регистрации в параметре has_archive. Кроме того, у обычных записей (тип поста post
) страницей архива является либо главная, либо страница «Блог», в зависимости от того, что у вас в Настройки > Чтение.
Обратите внимание, что функция вернёт false
в двух ситуациях:
get_post_type_archive_link( $post_type )
Параметры
- $post_type
- (строка) Название типа записей.
Пример
Предположим, что мы зарегистрировали какой-то произвольный тип постов, что-то типо этого:
add_action( 'init', function() { register_post_type( 'game', array( // любые другие параметры 'has_archive' => true, ) ) )
И потом где-нибудь выводим ссылку на архивы:
echo '<a href="' . get_post_type_archive_link( 'game' ) . '">Архив игр</a>';
Хуки
post_type_archive_link
При помощи этого фильтра вы можете изменить то, что возвращает функция в зависимости от переданных в неё параметров.
Допустим… хм.. давайте для типа записи game
добавим какой-нибудь якорь к ссылке.
add_filter( 'post_type_archive_link', 'true_change_archive_link', 25, 2 ); function true_change_archive_link( $link, $post_type ) { if( 'game' === $post_type ) { $link = $link . '#games'; } return $link; }