В моей дочерней теме у archive.php
меня есть следующий код для отображения заголовка страниц моего архива:
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
?>
Но это отображает мои заголовки как «Категория: Заголовок категории », а не просто заголовок без префикса «Категория:».
Мой первый инстинкт должен был отменить get_the_archive_title()
из wp-includes/general-template
. Но из того, что я прочитал, по-видимому, я не должен когда-либо изменять основной материал WordPress, даже с переопределениями из детской темы.
Так каков наилучший способ управления выходом the_archive_title()
?
functions
child-theme
fildred13
источник
источник
Ответы:
Если вы посмотрите на исходный код
get_the_archive_title()
, вы увидите, что есть фильтр, который называетсяget_the_archive_title
, с помощью которого вы можете отфильтровать вывод из функции.Вы можете использовать следующее, чтобы изменить вывод на странице категории
источник
Archive: Books
(гдеBooks
пользовательский тип записи).single_cat_title()
Функция возвращает только заголовок страницы , если типа является категорией или тег . Можете ли вы изменить свой ответ, включив в него решение, которое работает со всеми типами контента?Принятый ответ работает для удаления
Category:
префикса из заголовков архива категории, но не для других таксономий или типов записей. Чтобы исключить другие префиксы, есть два варианта:Восстановите заголовок для всех вариантов, используемых в исходной
get_the_archive_title()
функции:Или просто удалите все, что похоже на префикс заголовка (который может изменить фактические заголовки, содержащие слово, за которым следует символ двоеточия):
источник
Вы могли бы использовать
источник
single_cat_title
используетsingle_term_title
внутренне, что также работает с таксономиями. Убедитесь, что в вашей теме не определен один из следующих шаблонов:taxonomy-book.php
илиtaxonomy.php
, потому что они имеют приоритет надarchive.php
. Кроме того, рассмотрите возможность тестирования любого из методов в других ответах. Этот ответ довольно старый, он работал нормально на момент публикации, но я больше не занимаюсь разработкой для WordPress.Другой вариант:
Замените бренд: любым текстом, от которого вы хотите избавиться.
Стоит посмотреть на разницу между get_the_archive_title () и the_archive_title () the_archive_title () возвращает массив get_the_archive_title () возвращает строку
источник
У Ben Gillbanks есть хорошее решение, которое обрабатывает все типы записей и таксономии:
источник
Вы можете использовать,
post_type_archive_title()
чтобы получить название архива без текста «Архивы:».источник