Ok, also habe ich ein paar benutzerdefinierte Beitragstypen und ein paar Taxonomien registriert. Jetzt kann ich den Code, den ich zum Hinzufügen eines benutzerdefinierten Felds zu meinem benutzerdefinierten Beitragstyp benötige, für mein ganzes Leben nicht herausfinden.
Ich brauche ein Dropdown-Menü und einen einzeiligen Textbereich. Ich muss aber auch separate Felder für Beitragstypen haben. Angenommen, der erste Beitragstyp hat 3 Felder und der zweite Beitragstyp hat 4 Felder, aber die Felder sind unterschiedlich.
Alle möglichen Tipps helfen mir, den Codex zu lesen und etwas zu finden, aber ich kann nicht verstehen, was ich meiner functions.php
Datei hinzufügen muss
custom-post-types
custom-taxonomy
custom-field
xLRDxREVENGEx
quelle
quelle
Antworten:
Dies ist wahrscheinlich komplizierter als Sie denken. Ich würde die Verwendung eines Frameworks untersuchen:
Wenn Sie selbst schreiben möchten, finden Sie hier einige anständige Tutorials:
quelle
save_post
Hakens ist Vorsicht geboten . Es heißt zu seltsamen Zeiten. Stellen Sie sicher, dass die Variable WP_DEBUG auf true gesetzt ist, um mögliche Fehler bei der Verwendung anzuzeigen.Fügen Sie das
supports
Argument hinzu / bearbeiten Sie es (während Sie es verwendenregister_post_type
), um dencustom-fields
Bearbeitungsbildschirm Ihres benutzerdefinierten Beitragstyps einzuschließen:Quelle: https://codex.wordpress.org/Using_Custom_Fields#Displaying_Custom_Fields
quelle
Obwohl Sie eine Validierung hinzufügen müssen, scheint diese Aktion für die aktuelle Version von WordPress nicht kompliziert zu sein.
Grundsätzlich benötigen Sie zwei Schritte, um einem benutzerdefinierten Beitragstyp ein benutzerdefiniertes Feld hinzuzufügen:
Diese Schritte werden hier global beschrieben: http://wordpress.org/support/topic/is-it-possible-to-add-an-extra-field-to-a-custom-post-type
Beispiel:
Fügen Sie einem benutzerdefinierten Beitragstyp mit der Bezeichnung "Präfix-Teammitglieder" ein benutzerdefiniertes Feld mit der Bezeichnung "Funktion" hinzu.
Zuerst die Metabox hinzufügen:
Wenn Sie ein "Präfix-Teammitglied" hinzufügen oder bearbeiten, wird der
add_meta_boxes_{custom_post_type}
Hook ausgelöst. Die Funktion finden Sie unter http://codex.wordpress.org/Function_Reference/add_meta_boxadd_meta_box()
. Im obigen Aufruf vonadd_meta_box()
istprefix_teammembers_metaboxes_html
ein Rückruf, um Ihr Formularfeld hinzuzufügen:Im zweiten Schritt haben Sie Ihr benutzerdefiniertes Feld in der Datenbank. Beim Speichern wird der
save_post_{custom_post_type}
Hook ausgelöst (seit v 3.7, siehe: /programming/5151409/wordpress-save-post-action-for-custom-posts ). Sie können dies einhängen, um Ihr benutzerdefiniertes Feld zu speichern:quelle
Es gibt verschiedene Plugins für benutzerdefinierte Meta-Boxen und benutzerdefinierte Felder. Wenn Sie sich ein Plugin ansehen, das sich auf Entwickler konzentriert, sollten Sie Meta Box ausprobieren . Es ist leicht und sehr leistungsstark.
Wenn Sie nach einem Tutorial zum Schreiben von Code für eine Meta-Box / benutzerdefinierte Felder suchen, ist dies ein guter Anfang. Dies ist der erste Teil einer Reihe, der Ihnen dabei helfen kann, den Code zu verfeinern, um die Erweiterung zu vereinfachen.
quelle
Perfektes Wissen
quelle