Ich arbeite an einer Site, die einige benutzerdefinierte Taxonomien verwendet (für benutzerdefinierte Beitragstypen). Ich habe mich dafür entschieden, einige Taxonomien hierarchisch zu gestalten, da die Methode zur Eingabe von Werten (Kontrollkästchen) für diese Site wünschenswerter ist als die formlose Eingabe von nicht hierarchischen Taxonomien. Was ich jedoch wirklich möchte, ist die Möglichkeit, Optionsfelder anstelle von Kontrollkästchen zu verwenden. Außerdem möchte ich das Dropdown-Menü entfernen, mit dem das übergeordnete Element in der Taxonomie ausgewählt wird.
Gehe ich das falsch an? Sollte ich mit nicht hierarchischen Taxonomien beginnen und stattdessen die Eingabemethoden für diese ändern? Ich bin völlig offen für Beiträge und werde gerne alle Fragen beantworten oder weitere Informationen liefern, wenn ich kann.
quelle
Antworten:
Klar, benutze einfach CSS und den
'admin_head'
Haken, damit es verschwindet. Ich glaube, das ist was Sie suchen?(Quelle: mikeschinkel.com )
Fügen Sie einfach Folgendes zur
functions.php
Datei Ihres Themas oder zu einer.php
Datei eines Plugins hinzu, das Sie möglicherweise schreiben. Beachten Sie, dass ich einen'init'
Haken eingefügt habe, um den Post-Typ "Home" und die Taxonomie "Bath" zu definieren, damit andere dem Beispiel leichter folgen können. Beachten Sie auch , dass , wenn Ihre Taxonomie genannt wird Baths“ Sie werden die CSS - Selektor ändern müssen#newbaths_parent
statt#newbath_parent
:AKTUALISIEREN
Ich habe also anscheinend den Radioknopf-Teil der Frage verpasst . Leider macht WordPress dies nicht einfach, aber Sie können es durch die Verwendung der PHP-Ausgabepufferung (über die
ob_start()
undob_get_clean()
-Funktionen) erreichen. Suchen Sie einfach einen Hook, bevor die Metabox ausgegeben wird ('add_meta_boxes'
), und einen Hook, nachdem sie ausgegeben wurde ('dbx_post_sidebar'
), und durchsuchen Sie dann die erfassten HTML für'checkbox'
und ersetzen mit'radio'
, Echo auf den Bildschirm und fertig! Code folgt:Und die Beweise:
(Quelle: mikeschinkel.com )
quelle
<input>
und<select>
Namen, und Sie müssen nicht einmal etwas tun, um die Taxonomie zu erfassen. WordPress erledigt das für Sie. ODER Verwenden Sie ein benutzerdefiniertes Feld und eine Bypass-Taxonomie, die möglicherweise zu hoch ist.oder, wenn Sie faul sind, können Sie dieses Plugin verwenden: Single Value Taxonomy UI
(Ich hätte das lieber als Kommentar zu Mikes Antwort hinzugefügt, da es meistens dasselbe tut - aber ich kann noch keine Kommentare hinzufügen.)
quelle