Gibt es eine Möglichkeit, eine Seitenvorlage aus einer Funktion / einem Filter / einem Hook zu definieren, ohne dass eine .php-Datei mit dem Kommentar oben auf der Seite vorhanden ist, um den Vorlagennamen zu deklarieren?
Zum Beispiel, anstatt dies zu tun:
some-custom-page-template.php
/**
* Template Name: Some Custom Page Template
*/
another-custom-page-template.php
/**
* Template Name: Another Custom Page Template
*/
Ich frage mich, ob ich so etwas tun kann:
functions.php
wp_some_function_to_define_templates( 'Some Custom Page Template' );
wp_some_function_to_define_templates( 'Another Custom Page Template' );
BEARBEITEN : Ich schreibe ein komplexes und experimentelles WP-Thema. Es ist so objektorientiert, wie es WP zulässt. Ich habe Controller-Klassen, um zu entscheiden, was auf jeder Seite angezeigt werden soll, DAO-Klassen, um Daten aus DB, Twig abzurufen Vorlagen zum Generieren der Ansichten und so weiter ...
Ich habe den Code so weit verbreitet, dass meine Seitenvorlagen nur noch eine Codezeile sind, in der ich einen Controller aufrufe und ihn die Arbeit machen lasse, um schließlich eine Zweigvorlage zu rendern. Also habe ich beschlossen, diesen Aufruf an den Controller in den template_include
Filter zu verschieben, damit ich nicht einmal Code in die Seitenvorlagen einfügen muss ...
Ich werde möglicherweise Seitenvorlagen entfernen, aber ich brauche sie immer noch, um Seiten irgendwie zu gruppieren , um einige erweiterte benutzerdefinierte Feldgruppen für sie festzulegen usw.
Am Ende hatte ich ungefähr 15 PHP-Dateien, die oben nur einen Kommentar mit einem Vorlagennamen enthalten. Genau das möchte ich vermeiden, indem ich diese Vorlagen aus einer Funktion definiere ...
Versuche ich das Rad neu zu erfinden ? Vielleicht in gewissem Sinne, aber ich denke, es wird ein wirklich cooles Thema, sehr wartbar und modifizierbar ...