Ich muss ein Plugin erstellen, das benutzerdefinierte Seitenvorlagen in wp-admin verfügbar macht. Ich frage mich, ob jemand dies bereits in Angriff genommen hat, da es ein ziemlich typischer Prozess zu sein scheint.
plugins
templates
page-template
jnthnclrk
quelle
quelle
Antworten:
Wie Rarst geantwortet hat, können Sie dies wirklich tun, ohne die Kerndateien zu bearbeiten oder die Metabox für Seitenattribute zu entfernen und Ihre On mit demselben Code zu erstellen, mit ein wenig Modifikation. Der folgende Code ist der Code für die Datei /admin/include/meta-boxes.php, und ich habe einen Kommentar hinzugefügt, um zu zeigen, wohin Ihre zusätzlichen Seitenvorlagenoptionen führen würden:
Ich weiß nicht, ob dies ein Fix in Ihrem Fall ist, aber ich hatte einen Smiler-Fall, als ich den Beitragstyp in einem eingebauten Plugin-Thema anzeigen musste, und dafür habe ich verwendet
add_filter('the_content', 'my-function');
und meine Funktion hat die Ausgabe zum Anzeigen erstellt.Eine andere Möglichkeit wäre, Ihr Plugin dazu zu bringen, die Vorlagendatei im aktuellen Themenverzeichnis zu erstellen.
und Sie können dies ausführen, nachdem Sie zum ersten Mal überprüft haben, ob die Datei vorhanden ist
Hoffe, eines davon hilft.
quelle
Ich bin mir nicht ganz sicher, ob ich verstehe, was Sie erreichen wollen, zumindest warum Sie möchten, dass ein Plugin dies tut.
Das normale Verfahren zum Erstellen verschiedener Seitenvorlagen lautet:
Erstellen Sie eine neue Seitenvorlage in Ihrem ACTIVE-Themenverzeichnis (erstellen Sie eine Kopie von page.php).
Ändern Sie den Namen der Vorlage (innerhalb der Datei).
/ * Vorlagenname: Seite mit voller Breite * /
Ändern Sie den Code der Seite in das, was Sie erreichen möchten.
Sie können jetzt eine neue Seite erstellen und auswählen, welche "Vorlage" verwendet werden soll.
...
Ich hoffe, das ist es, was Sie erreichen wollen?
Offizielle Dokumentation hier: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
quelle
Dies scheint ziemlich schwer zu erreichen zu sein.
get_page_templates()
function verwirft aktiv alles, was sich nicht in übergeordneten und untergeordneten Stammverzeichnissen befindet. Es wird auch nicht in globalen Variablen gespeichert oder ermöglicht das Filtern der generierten Liste von Vorlagen.Ich denke, dass die Meta-Box für Seitenattribute gegabelt und vollständig ersetzt werden muss. Und nicht sicher, ob es auch dann möglich sein wird.
Ich bin damit einverstanden, dass dies sinnvoll erscheint, aber WordPress-Code ist sehr präzise, da benannte Vorlagen nur aus dem Verzeichnis des Themas stammen sollen.
quelle
Ist dies nicht einer der Gründe,
register_theme_directory()
die eingeführt wurden?http://core.trac.wordpress.org/ticket/10467
Zu der Zeit war es ein Problem im Zusammenhang mit BuddyPress, das hier und da zusätzliche Vorlagen einwerfen wollte.
Ich gehe davon aus, dass sie nicht richtig als Seitenvorlagen aufgeführt sind:
http://core.trac.wordpress.org/ticket/15803
quelle