W motywie mojego dziecka archive.php
mam następujący kod do wyświetlania tytułu moich stron archiwum:
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
?>
Ale to wyświetla moje tytuły jako „Kategoria: Tytuł kategorii ” zamiast po prostu tytuł bez wcześniejszego „Kategoria:”.
Moim pierwszym odruchem było zastąpić get_the_archive_title()
od wp-includes/general-template
. Ale z tego, co przeczytałem, najwyraźniej nie powinienem nigdy zmieniać podstawowych elementów Wordpress, nawet z przesłonięciem motywu potomnego.
Jaki jest najlepszy sposób kontrolowania wydajności the_archive_title()
?
functions
child-theme
fildred13
źródło
źródło
Odpowiedzi:
Jeśli spojrzysz na kod źródłowy
get_the_archive_title()
, zobaczysz, że dostarczony jest filtr, wywoływanyget_the_archive_title
, przez który możesz filtrować dane wyjściowe z funkcji.Aby zmienić dane wyjściowe na stronie kategorii, możesz użyć następujących elementów
źródło
Archive: Books
(gdzieBooks
jest niestandardowy typ postu).single_cat_title()
Zwraca tytuł strony tylko wtedy, gdy typ jest kategoria lub tag . Czy możesz zmienić swoją odpowiedź, aby uwzględnić rozwiązanie, które działa ze wszystkimi typami treści?Akceptowana odpowiedź działa w celu usunięcia
Category:
prefiksu z tytułów archiwów kategorii, ale nie innych taksonomii ani typów postów. Aby wykluczyć inne prefiksy, istnieją dwie opcje:Odbuduj tytuł dla wszystkich wariantów używanych w oryginalnej
get_the_archive_title()
funkcji:Lub po prostu usuń wszystko, co wygląda jak przedrostek tytułu (co może zmienić rzeczywiste tytuły zawierające słowo, po którym następuje znak dwukropka):
źródło
Możesz użyć
źródło
single_cat_title
korzystasingle_term_title
wewnętrznie, co działa również na taksonomie. Upewnij się, że Twój motyw nie ma zdefiniowanego jednego z następujących szablonów:taxonomy-book.php
lubtaxonomy.php
, ponieważ mają one pierwszeństwoarchive.php
. Rozważ także przetestowanie jednej z metod opisanych w innych odpowiedziach. Ta odpowiedź jest dość stara, działała dobrze w momencie jej opublikowania, ale nie rozwijam się już dla WordPress.Inną opcją jest:
Zamień markę na dowolny tekst, którego chcesz się pozbyć.
Warto przyjrzeć się różnicy między get_the_archive_title () i the_archive_title () the_archive_title () zwraca tablicę get_the_archive_title () zwraca ciąg
źródło
Ben Gillbanks ma fajne rozwiązanie, które obsługuje wszystkie typy postów i taksonomie:
źródło
Możesz użyć,
post_type_archive_title()
aby uzyskać tytuł archiwum bez tekstu „Archiwa:”.źródło