Wie kann get_template_part immer zuerst das untergeordnete Thema überprüfen?


8

Wie kann ich WP zwingen, beim Ausführen immer zuerst den untergeordneten Themenordner zu überprüfen get_template_part?

Beispiel: Kind Thema Lasten get_template_part('content', 'inventory')in single.php. Da alle untergeordneten Themen (und es gibt viele) dieselbe gemeinsame Inventarvorlagenbasis verwenden, befindet sich die Datei content-inventory.phpim übergeordneten Thema. So weit, ist es gut.

Ich möchte dieser Inventarvorlage einen kleinen Abschnitt hinzufügen, der für jedes untergeordnete Thema einzigartig ist. Beim Hinzufügen get_template_part('content', 'inventory-special')in content-inventory.phpwird das untergeordnete Themenverzeichnis nicht zuerst überprüft.


3
An Sie beide, die meine Antwort abgelehnt und nicht kommentiert haben, warum, danke für nichts. Wie soll sich jemand mit negativer Kritik verbessern?
M-Torin

Antworten:


5

Standardmäßig ist dies der Fall. Die get_template_part()Funktion verwendet, locate_template()welche Kaskaden durch die Vorlagendateien in der Reihenfolge der Spezifität und des Stylesheet-Pfads / Vorlagenpfads laufen.

Wenn Ihr untergeordnetes Thema also a enthält content-inventory.php, get_template_part()wird es es enthalten. Wenn nicht, wird content-inventory.phpim übergeordneten Thema danach gesucht. Wenn es es nicht findet, sucht es content.phpzuerst im Kind, dann im Elternteil.

BEARBEITEN:

Versuchen Sie zu verstehen, was Sie meinen; Bitte klären Sie, wenn ich falsch verstehe ...

Sie möchten eine neue Template-Teiledatei in eine Parent-Theme-Template-Datei mit dem Namen einfügen content-inventory.php, oder?

Die einzige Möglichkeit, AFAIK, dies zu tun, besteht darin, in Ihr untergeordnetes Thema zu kopierencontent-inventory.php und dann get_template_part()bei Bedarf den neuen Anruf hinzuzufügen .

Wenn eine Datei mit dem Namen content-inventory.phpin enthalten ist , sowohl die Eltern und das Kind Theme, dann Wordpress immer die Verwendung Child Theme Version, wenn mit einbezogen get_template_part().


@Kaiser, @Chip Bennett: WP wird offensichtlich das übergeordnete Thema überprüfen content-inventory.php. Der Kodex und die einfache Erfahrung machen dies deutlich. Befindet sich die gesuchte Datei (Ebene 2) jedoch im übergeordneten Themenordner, überprüft WP das untergeordnete Thema nicht erneut auf ein get_template_partin der gesuchten Datei enthaltenes Thema (ein Include der dritten Ebene). Hat das bei Ihnen anders funktioniert?
M-Torin

Ich verstehe deine Frage / dein Problem nicht. Für einen bestimmten Namen der Vorlagendatei überprüft WordPress immer zuerst das untergeordnete Thema . Können Sie erklären, was Sie unter Dateien der zweiten und dritten Ebene verstehen?
Chip Bennett

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.