Organisieren Sie Schablonenteile und Seitenvorlagen in Ordnern in Bezug auf die Vorlagenhierarchie

Hallo und guten Rutsch ins neue Jahr

Angenommen, man hat ein großes Thema, das sich aus mehreren Post-Typen, Seitenvorlagen und einer Reihe von benutzerdefinierten Schleifen und Vorlagenteilen zusammensetzt, die man am besten in separaten PHP-Dateien aufbewahrt. Was ist die beste Vorgehensweise, um diese Dateien zu organisieren?

Angenommen, ich habe 10 Seitenvorlagen. Wie wäre es, sie in einen Ordner namens “pages” zu legen? Und noch ein Ordner für die Archive?

Wie kann WordPress jedoch wissen, wo nach den Vorlagen gesucht werden soll?

Vielen Dank

Solutions Collecting From Web of "Organisieren Sie Schablonenteile und Seitenvorlagen in Ordnern in Bezug auf die Vorlagenhierarchie"

Seitenvorlagen sind Sonderfälle und da WP 3.4 nativ in Unterordner eingefügt werden kann. Ansonsten erwartet WP meist eine flache Dateistruktur für Vorlagen.

Während die Vorlagenhierarchie leicht angepasst werden kann (siehe dynamischer Filter in get_query_template() , wird get_query_template() nur etwas benötigt) … Aus eigener Erfahrung – eine zu umfangreiche und verschachtelte Verzeichnisstruktur für Vorlagen macht den Entwickler-Workflow sehr schnell sehr unangenehm.

Wenn Sie eine große Anzahl von Vorlagen haben, wie Sie die Menge reduzieren können? ist eine bessere Frage als “wie man sie in Ordner stopft?”.

Um weiter zu gehen, was Rarst gesagt hat, können benannte Vorlagen in einem Unterordner platziert werden, ebenso wie Partialtypen (die über get_template_part konsumiert werden). Meiner Erfahrung nach müssen die integrierten Vorlagen, nach denen WordPress normalerweise sucht, wie zum Beispiel header.php , single.php und home.php , im Stammverzeichnis der Vorlage und nicht in einem Unterordner liegen.

Das heißt, meine Themenverzeichnisstruktur sieht eher so aus:

  • Teiltöne /
    • nav.php
  • Vorlagen /
    • benutzerdefinierte_name_template.php
  • header.php
  • home.php
  • single.php

(weggelassen, um alle Standardvorlagen kurz aufzuführen)