@Bastianoso

Custom field in Widget von WordPress ausgeben

Mit dieser Erweiterung der functions.php ist es möglich ein benutzerdefiniertes Feld eines Wordpress-Beitrages in einem Widget in der Sidebar auszugeben.

Bei manchen Artikeln, die ich hier schreibe, habe ich noch Randbemerkungen, die ich am Artikel, aber eben nicht im Artikel unterbringen möchte. Daher habe ich nach einer Lösung gesucht, ein benutzerdefiniertes Feld des Artikels zu verwenden und seinen Inhalt in einem Widget in der Seitenleiste anzuzeigen.

Eigentlich zeigen Sidebars im Blog ja immer die selben Inhalte, neue Artikel, meistgelesene Artikel, Blogroll, Tag-Cloud usw.
Mein Ansinnen war jedoch, artikelspezifische Daten in einem Widget in der Sidebar anzeigen zu lassen.

Dafür gibt es verschiedene Lösungswege. Man kann diverse PlugIns dafür nutzen oder in der functions.php die Ausführung von PHP erlauben, um das custom field im vordefinierten „Text“-Widget von WordPress auszugeben. Dem Sicherheitsrisiko der PHP-Ausführung wollte ich mich aber nicht hingeben und ein PlugIn scheint mir für diese einfache Aufgabe so, als würde man mit Kanonen auf Spatzen schießen.

Daher habe ich mich dazu entschlossen, die functions.php etwas aufzubohren und mir ein eigenes Widget zu programmieren, welches diese Aufgabe übernimmt.

So kannst Du ein benutzerdefiniertes Feld in einem Widget ausgeben

Als erstes müssen wir uns ein eigenes Widget programmieren. Das klingt aber komplizierter, als es ist. Eigentlich ist es ganz einfach und kann mit wenigen Zeilen Code bequem in der functions.php Deines Child-Themes (Du benutzt doch ein Child-Theme, oder?!) erledigt werden

Eigenes Widget in der functions.php definieren

Um ein eigenes Widget zu erstellen, fügst Du den folgenden Code einfach ans Ende Deiner functions.php ein (vor dem schließenden PHP-Tag)

Füge diesen Code in Deine functions.php und besuche die Seite „Widgets“ im Backend von WordPress. Du solltest das neue Widget „Notizen“ dann dort sehen können.

Widget in der Sidebar einpflegen

Wenn Du das Widget dort siehst, kannst Du es zu einer beliebigen Sidebar hinzufügen und ihm einen Titel geben:

Ich habe mich für das generische „Hinweise“ entschieden, da es für viele Situationen passt.

Artikel bearbeiten

Jetzt musst Du nur noch zu einem beliebigen Artikel in WordPress das custom field hinzufügen und mit einem Value belegen, damit etwas angezeigt wird.

Bearbeite einen Artikel und aktiviere ggf. mit dem Menü „Ansicht anpassen“ oben rechts die custom fields/benutzerdefinierte Felder.

Du solltest nun so etwas sehen können:

Wenn Du „Notizen“ nicht bereits aus dem Dropdown auswählen kannst, weil Du es noch nie benutzt hast, dann klicke einfach auf „Neu eingeben“ und gib „Notizen“ ein.
Es ist jedoch wichtig, dass Du wirklich „Notizen“ eingibst, denn danach sucht der Code im Widget, welches Du eben angelegt hast.
Wenn Du lieber einen anderen Namen für das custom field benutzen möchtest, dann musst Du den Namen auch im Code abändern (die Stelle ist mit einem Kommentar markiert).

Du kannst an dieser Stelle nicht nur Text eingeben, sondern auch simple HTML-Tags nutzen, um Deinen Text zu formatieren.
Mit Anpassungen am Code in der functions.php kannst Du natürlich auch noch ganz andere Dinge realisieren, z.B. Bilder anzeigen, in dem Du die eingegebene URL entsprechend auszeichnest oder oder oder — Deiner Phantasie sind kaum Grenzen gesetzt 😉

Wenn Du den Artikel jetzt aktualisierst und ins Frontend wechselst, solltest Du das Widget bei dem Artikel sehen können.
Bei Artikeln, die das custom field nicht haben, wird das Widget mit CSS ausgeblendet.

Sicherlich gibt es dafür schönere Lösungen, aber die ging mir am schnellsten 😉

Bei diesem Artikel solltest Du als letztes Widget ebenfalls das Hinweise-Widget sehen können:

Hier ist noch Platz für Deinen Kommentar:

Musik Sport Abschlussprüfung Silvester Laufen Windows Film projekt52 Internet Altona Videos Gesellschaft Party Mac OS X Einkaufen Redirect IST-Analyse Organisation Kater Weihnachten Sicherheit Netzwerktechnik Facebook C++ Datenbanken Sibirische Katze Inventur BarCamp Buchhaltung iOS Bilanz Ernährung OS X twitter Datenübertragung Fahrrad Fernsehen Mathematik Werbung Hamburg Fotos Microsoft Webserver Wirtschaft Kredite Netzwerk E-Mail web 2.0 Tipps & Tricks URL IKEA Haushalt Kino Konzert Sommer Terminal Computer Datenschutz iPhone Weiterleitung Apple Projektmanagement Ausbildung Programmieren Deutschland

Hinweise zum Artikel

Der Inhalt dieses custom fields wird im Widget in der Sidebar neben dem Artikel angezeigt.

Heiß diskutiert