it-swarm.com.de

get_template_part und Template-Dateinamen

Ich habe einen benutzerdefinierten Post-Typ, der eine Schleife an verschiedenen Stellen verwenden wird, und ich wollte die Verwaltung dieser Schleifen vereinfachen. Ich erinnerte mich, dass get_template_part () verfügbar ist und dachte mir, dies wäre ein optimaler Zeitpunkt, um sich daran zu gewöhnen. Was mich jedoch im Stillstand hält, ist das Einrichten einer Datei für die Schleifen, damit ich die spezifischen Teile genau aufrufen kann.

Bisher war Google nicht hilfreich, um zu verstehen, wie get_template_part () und twentytens loop.php tatsächlich funktionieren und die drei Teile aufrufen. Ich habe es dupliziert, abgespeckte und bereit für die Änderung für meine CPT-Version, aber das ist es bis jetzt.

Irgendeine Hilfe?

1
tw2113

Codex hat eine sehr anständige Erklärung der get_template_part() Logik:

Angenommen, der Themenordner ist wp-content/themes, das übergeordnete Thema ist zwanzig und das untergeordnete Thema ist zwanzigkind, dann der folgende Code -

<?php get_template_part( 'loop', 'index' ); ?>

wird ein PHP require () für die genannten Dateien in dieser Reihenfolge ausführen:

  1. wp-content/themes/twentytenchild/loop-index.php

  2. wp-content/themes/twentytenchild/loop.php

  3. wp-content/themes/twentyten/loop-index.php

  4. wp-content/themes/twentyten/loop.php

Grundsätzlich können Sie allgemeinere Vorlagen und speziellere Vorlagen verwenden. Die spezialisierte Vorlage wird vor der generischen Vorlage nachgeschlagen. Das ist so ziemlich alles.

1
Rarst

Ich habe es immer nur verwendet, um Dateien einzuschließen, die sich in meinem Themenverzeichnis befinden.

Wenn ich also einen Ordner im Theme-Verzeichnis "functions" habe, der eine Datei mit dem Namen "utils.php" enthält (wp-content/themes/mytheme/functions/utils.php), können Sie die Datei einfach so einfügen

get_template_part( 'functions/utils' ); // includes /functions/utils.php - .php gets added automatically

oder Dateien im Stammverzeichnis des Themas

get_template_part( 'sidebar' ); // includes sidebar.php

Ich verstehe die 2 Parameter nicht so recht. Es funktioniert gut für mich, nur die Verzeichnispfadstruktur zu Dateien zu verwenden und nur den Dateityp zu verlassen.

1
jaredwilli