it-swarm.com.de

Wie lässt man get_template_part immer zuerst das untergeordnete Thema überprüfen?

Wie kann ich WP zwingen, immer zuerst den untergeordneten Themenordner zu überprüfen, wenn get_template_part ausgeführt wird?

Beispiel: Untergeordnetes Thema lädt get_template_part('content', 'inventory') in single.php. Da alle untergeordneten Designs (und es gibt viele) dieselbe gemeinsame Inventarvorlagenbasis haben, befindet sich die Datei content-inventory.php im übergeordneten Design. So weit, ist es gut.

Ich möchte der Inventarvorlage einen kleinen Abschnitt hinzufügen, der für jedes untergeordnete Thema eindeutig ist. Durch das Hinzufügen von get_template_part('content', 'inventory-special') zu content-inventory.php wird das untergeordnete Designverzeichnis nicht zuerst überprüft.

6
torinagrippa

Dies ist standardmäßig der Fall. Die Funktion get_template_part() verwendet locate_template(), die die Vorlagendateien in der Reihenfolge der Spezifität und des Stylesheet-Pfads/Vorlagenpfads durchläuft.

Wenn Ihr untergeordnetes Thema also einen content-inventory.php enthält, enthält get_template_part() diesen. Wenn nicht, wird im übergeordneten Design nach content-inventory.php gesucht. Wenn es es nicht findet, sucht es zuerst im untergeordneten und dann im übergeordneten Element nach content.php.

BEARBEITEN:

Versuchen Sie zu verstehen, was Sie meinen. bitte klären wenn ich missverstehe ...

Sie möchten eine neue Vorlagenteiledatei in eine Übergeordnetes-Thema-Vorlagendatei mit dem Namen content-inventory.php einfügen, richtig?

Die einzige Möglichkeit, AFAIK, dies zu tun, besteht darin,content-inventory.php in Ihr untergeordnetes Design zu kopieren und dann den neuen Aufruf get_template_part() hinzuzufügen, wo dies erforderlich ist.

Wenn eine Datei mit dem Namen content-inventory.php in sowohl dem übergeordneten als auch dem untergeordneten Thema enthalten ist, verwendet WordPress immer das untergeordnete Thema Version, falls enthalten using get_template_part().

5
Chip Bennett

get_template_part() macht dies standardmäßig.

3
kaiser