In meinem Kinderthema habe archive.php
ich den folgenden Code zum Anzeigen des Titels meiner Archivseiten:
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
?>
Dabei werden meine Titel jedoch als "Kategorie: Kategorietitel " anstatt einfach als Titel ohne vorangestelltes "Kategorie:" angezeigt.
Mein erster Instinkt war außer Kraft setzen get_the_archive_title()
aus wp-includes/general-template
. Aber nach dem, was ich gelesen habe, soll ich anscheinend nie WordPress-Kernelemente ändern, auch nicht mit Überschreibungen von einem Kinderthema.
Was ist die beste Methode, um die Ausgabe von zu steuern the_archive_title()
?
functions
child-theme
fildred13
quelle
quelle
Antworten:
Wenn Sie sich den Quellcode von
get_the_archive_title()
ansehen, werdenget_the_archive_title
Sie feststellen, dass ein Filter bereitgestellt wird , über den Sie die Ausgabe der Funktion filtern können.Sie können Folgendes verwenden, um die Ausgabe auf einer Kategorieseite zu ändern
quelle
Archive: Books
(wobeiBooks
es sich um einen benutzerdefinierten Beitragstyp handelt). Diesingle_cat_title()
Funktion gibt nur dann einen Seitentitel zurück, wenn der Typ eine Kategorie oder ein Tag ist . Können Sie Ihre Antwort dahingehend ändern, dass sie eine Lösung enthält, die mit allen Inhaltstypen funktioniert?Die akzeptierte Antwort entfernt das
Category:
Präfix aus den Kategoriearchivtiteln, jedoch nicht aus anderen Taxonomie- oder Beitragstypen. Um andere Präfixe auszuschließen, gibt es zwei Möglichkeiten:Erstellen Sie den Titel für alle in der ursprünglichen
get_the_archive_title()
Funktion verwendeten Varianten neu :Oder entfernen Sie einfach alles, was wie ein Titelpräfix aussieht (was tatsächliche Titel verändern kann, die ein Wort gefolgt vom Doppelpunkt enthalten):
quelle
Du könntest benutzen
quelle
single_cat_title
verwendetsingle_term_title
intern, was auch für Taxonomien gilt. Stellen Sie sicher, dass für Ihr Thema keine der folgenden Vorlagen definiert ist:taxonomy-book.php
odertaxonomy.php
, da sie Vorrang vor habenarchive.php
. Erwägen Sie auch, eine der Methoden in den anderen Antworten zu testen. Diese Antwort ist ziemlich alt, sie hat zum Zeitpunkt der Veröffentlichung einwandfrei funktioniert, aber ich entwickle nicht mehr für WordPress.Eine andere Option ist:
Marke ersetzen: mit dem Text, den Sie entfernen möchten.
Es lohnt sich, den Unterschied zwischen get_the_archive_title () und the_archive_title () zu untersuchen. The_archive_title () gibt ein Array zurück. Get_the_archive_title () gibt einen String zurück
quelle
Ben Gillbanks hat eine nette Lösung , die alle Post-Typen und Taxonomien handhabt:
quelle
Mit können
post_type_archive_title()
Sie den Titel eines Archivs ohne den Text "Archiv:" abrufen.quelle