Ich möchte einer bestimmten Kategorie benutzerdefinierte Felder hinzufügen. Eine Kategorie enthält nur die folgenden Felder:
Name:
Slug:
Elternteil:
Beschreibung:
Da ich eine TV-Serien-Site habe, möchte ich weitere Felder hinzufügen. Wenn ich eine neue Kategorie erstelle, möchte ich Folgendes tun (Kategorie = Serie)
Name:
Künstler:
Jahr:
Art:
Genre:
Zusammenfassung:
Slug:
Elternteil:
Beschreibung:
Und so weiter...
Irgendeine Hilfe bitte? Danke im Voraus.
categories
Earlee
quelle
quelle
Antworten:
Ich habe vor einer Woche ein How To darüber gepostet http://en.bainternet.info/2011/wordpress-category-extra-fields
hoffe das hilft.
Ohad.
Hier sind die Details des Beitrags:
Als Erstes müssen wir die zusätzlichen Felder mit dem Hook edit_category_form_fields zum Formular zur Kategoriebearbeitung hinzufügen und verwenden eine einfache Funktion, mit der die zusätzlichen Felder ausgedruckt werden.
Wie Sie sehen, habe ich 4 neue Felder hinzugefügt, die sich alle in einem Array Cat_meta [key] befinden, da wir auf diese Weise nur eine Zeile in der Optionstabelle erstellen, um alle zusätzlichen Felder der Kategorie anstelle einer Zeile für jedes Feld zu speichern.
Als nächstes müssen wir die zusätzlichen Felder in der Datenbank speichern, sobald ein Benutzer das Kategorie-Bearbeitungsformular abschickt, und dies unter Verwendung von "edited_category" mit einer Funktion, die alle übermittelten Felder durchläuft und sie mit der Funktion update_option in die Datenbank einfügt , so was:
Aus dem obigen Code können Sie ersehen, dass alle zusätzlichen Felder, die wir hinzugefügt haben, in der Optionstabelle der Datenbank mit dem Namen 'category_ID' gespeichert sind, wobei ID die ID der spezifischen Kategorie ist, die wir gerade bearbeitet haben, und das heißt, wir können dies aufrufen Daten in unseren Plugins oder Themendateien einfach mit der Funktion get_option.
Angenommen, meine Kategorie-ID ist 25, dann sieht mein Code so aus
Wie eingangs erwähnt, muss ich für jede Kategorie ein anderes Bild anzeigen. In diesem Fall habe ich die category.php meines Themas direkt nach dem Code, der den Kategorietitel anzeigt, um diese wenigen Codezeilen ergänzt:
Schön und einfach und wir sind alle fertig. Das Ergebnis sollte ungefähr so aussehen:
quelle
Ab Wordpress 4.4 wurden die Funktionen add_term_meta () , update_term_meta () und get_term_meta () hinzugefügt. Dies bedeutet, dass der von MxmastaMills zur Verfügung gestellte Code aktualisiert werden kann, um einen weitaus weniger hackigen Ansatz zu verwenden.
Hier ist mein Update davon. Es gibt nur ein Feld, da ich einen benutzerdefinierten Titel hinzufügen wollte, aber es funktioniert für alle Felder, die Sie hinzufügen möchten, gleich.
quelle
edited_category
Hook,tag_ID
wird im$_POST
Array sein, nicht im$_GET
. Außerdemadd_term_meta
wird tatsächlich ein neuer Eintrag hinzugefügt, anstatt einen möglichen alten zu überschreiben. Verwenden Sieupdate_term_meta
stattdessen.Dieser Code funktioniert:
quelle
Paul Menard lieferte in seinem Blog ein Beispiel für das Erstellen und Verwenden von Term-Metas ...
Benutzerdefinierte Metas für neue Taxonomien in WordPress 3.0 .
Es gibt kein Beispiel für das Erstellen der DB-Tabelle oder das Überprüfen, ob
$_POST
Variablen festgelegt wurden. Sie müssen diese kleinen Dinge also selbst erledigen, aber es sieht aus wie eine anständige Codebasis, auf der Sie aufbauen können ... :)quelle