Ich möchte, dass eine benutzerdefinierte Feldoberfläche nur angezeigt wird, wenn einer bestimmten WordPress-Seite eine bestimmte Vorlage zugewiesen ist.
Irgendwelche Ideen?
wp-admin
conditional-tags
Jonathan Wold
quelle
quelle
Antworten:
Der beste Weg, um sich dieser Situation zu nähern, ist JavaScript. Auf diese Weise können Sie bei jeder Änderung des ausgewählten Werts die zugehörige Metabox sofort ausblenden / anzeigen.
Verwenden Sie
wp_enqueue_script()
infunctions.php
, um eine benutzerdefinierte JavaScript-Datei im Admin-Bereich zu laden:Das Skript selbst, für das jQuery erforderlich ist, blendet einfach eine Metabox basierend auf dem ausgewählten Wert in der Dropdown-Liste der Seitenvorlagen aus oder zeigt sie an. In diesem Beispiel zeige ich nur die Metabox für Post-Thumbnails an, wenn die Standardseitenvorlage ausgewählt ist:
Und aus Spaß ist hier eine kürzere, weniger ausführliche Version desselben Skripts:
quelle
Anstatt die Metabox nur zu rendern, um sie mit jQuery auszublenden, können Sie dies verwenden. Der einzige Unterschied besteht darin, dass das Ein- und Ausblenden der Metabox nach dem Ändern des Dropdown-Felds die Auswahl von "Aktualisieren" erfordert.
Aktualisieren Sie einfach die Zeilen 6 und 7 wie gewünscht.
quelle