WordPress 4 Grundkurs

Benutzerdefinierte Beitragstypen anlegen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ein zusätzliches benutzerdefiniertes Plug-in dient dazu, weitere Beitragstypen in WordPress anzulegen. Dies vereinfacht es, eine detaillierte Auswahl in einem Beitrag zu selektieren.
05:51

Transkript

Ich zeige Ihnen jetzt ein kleines Plug-in, mit dem Sie einen eigenen Beitrasgstyp im WordPress definieren können, um zum Beispiel Filialen in WordPress darzustellen. Ich habe hier nicht nur Beiträge und Seiten, sondern einen eigenen Unterpunkt "Filialen". Der sieht im wesentlichen so aus wie die Beiträge oder Seiten. Und wenn ich jetzt hier draufgehe, dann habe ich hier einen Titel, ich habe hier einen Textinhalt. Was neu ist, ist dieser Bereich hier oben. Da steht Filiale. Und ich kann jetzt hier einen Ort angeben, oder ich könnte hier natürlich auch beliebige andere Dinge abfragen. Falls Sie das nicht sehen, wenn Sie das installieren, gehen Sie vorher auf Optionen und schauen, dass hier bei Filiale der Haken gesetzt ist. Wenn ich mir das Ganze jetzt anschaue, dann sehen Sie hier natürlich Überschrift und Inhalt. Und dieser Ort, wo sich die Filiale befindet, der ist verlinkt mit Google Maps und das wird dann automatisch hier angezeigt. Und das spannende ist eben, dass diese Information, die hier unten angezeigt wird, dass die nicht Teil des "Contents" ist, sondern dass ich die hier als Extrafeld angegeben habe. Schauen wir uns mal den entsprechenden Quellcode dazu an. Dazu gehe ich nach "wp-content\plugins\filialen". Und da gibts nur eine einzige Datei. Die heißt auch "filialen.php". Und hier spielt die eigentliche Musik. Ich muss vier Dinge machen. Als erstes muss ich dafür sorgen, dass dieser "post_type" auch registriert wird. Das mache ich mit "add_action init". Wenn ich das gemacht habe, dann muss ich dafür sorgen, dass ich rechts diese kleinen Meterboxen habe, wo wir gerade eben den Ort unserer Filiale eingetragen haben. Das mache ich mit "add_action, add_meta_boxes". Dann muss ich dafür sorgen, dass die Informationen, die dort eingetragen werden, auch gespeichert werden. Das sage ich mit "add_action, save_post". In dem Moment, in dem der "post" gespeichert wird, soll das Ganze auch mitgespeichert werden. Und zu guter Letzt sage ich hier noch mit "add_filter", das ist was anderes, das ist nicht "add_action", sondern "add_filter", "the_content" sorge ich dafür, dass diese Information ausgelesen und entsprechend angezeigt wird. Gehen wir mal ein bisschen ins Detail rein. Dieses "register_post_type", am besten suchen Sie im Codex von WordPress, was das alles genau bedeutet, aber ich übergebe hier natürlich einen Namen. Ich übergebe hier verschiedene Labels, also den Pluralnamen Filialen, den Singularnamen oder auch hier, was in der Überschrift, wenn ich so eine Filiale bearbeite, stehen soll. Ist das Ganze öffentlich zugänglich oder nicht, dann habe ich hier noch ein "Menu-icon", das ich übergeben kann. Hier sehen Sie nochmal die Webseite dafür, welche "Dash-icons" es überhaupt gibt. Und ganz wichtig mein neuer "post type", der soll auch "custom-fields" unterstützen. In diesen "custom-fields" wird diese Information gespeichert. Wie kommt jetzt diese Information da überhaupt rein? Wir hatten es gerade eben mit diesen "add_meta_boxes". Und da sage ich hier "add_meta_box". Ich gebe dem Ganzen eine ID, eine Überschrift. Und hier sage ich, wie soll den eigentlich der Inhalt dieser "Meta-Box" aussehen. Das lagere ich in einer eigenen Funktion aus. Und dann sage ich zum Beispiel, dass das in der Seitenleiste sehr weit oben angezeigt werden soll. Der eigentliche Inhalt dieser "Meta-Box", der wird in dieser Funktion hier definiert. Mit "wp_nonce_field" sorge ich dafür, dass mir nicht von Fremden irgendwelche Informationen untergejubelt werden. Dieses "nonce_field" wird später wieder abgefragt. Und nur wenn beide Werte gleich sind, vertraue ich den Informationen und WordPress speichert das Ganze dann auch. Mit "get_post_meta" hole ich mir die Meta-Informationen für den aktuellen Beitrag. Und diese Meta-Information habe ich gespeichert in Variablenname "filiale_ort". Und ganz wichtig hier unten habe ich so einen Unterstrich hingesetzt. Das sorgt dafür, dass dieses "Custom Field" gar nicht öffentlich zu sehen ist. Diese Information hole ich mir. Speichere sie in der Variablen ab und gebe hier einfach nur ein Input-Feld aus. Und wenn der Nutzer, oder die Nutzerin das Ganze speichert, dann wird eben hier diese Funktion "filiale_save_postdata" ausgeführt. Zunächst einmal sage ich, wenn das Ganze ein automatisches "saven" ist, ein automatisches abspeichern, dann soll nichts passieren. Oder auch, ich hatte es gerade eben schon erklärt, wenn dieses "nonce_field", dass wir hier oben angegeben haben, wenn das nicht ordentlich verifiziert werden konnte, dann gehe ich davon aus, dass irgendein Hacker-Angriff vorliegt und mir jemand von außen Infos unterjubeln möchte, und gebe einfach nur ein "return" aus. Und dann überprüfe ich, darf der Nutzer eigentlich diesen aktuellen "post" editieren. Wenn das nicht der Fall ist, dann höre ich auch auf. Und erst wenn all diese Tests bestanden worden sind, dann sage ich "update_post_meta". Ich hole mir die Information aus dem "post array", dass ich gerade entgegengenommen habe und speichere das Ganze dann in diesem "Custom Field". Zu guter Letzt gebe ich diese Information noch aus. Mit "add_filter the content" sage ich es soll der gesamte Content eines jeden Beitrags auf der ganzen WordPress Seite durch eine Funktion durchgejagt werden. Diese Funktion bekommt den Inhalt und gibt den letztendlich unten wieder aus. Und als erstes wird mal überprüft, habe ich eine Einzelansicht? Und ist diese Einzelansicht von meinem neuen Beitragstyp "Filiale"? Wenn das nicht der Fall ist, dann gebe den Content ganz normal aus. Das heißt, auf einer normalen Beitragsseite soll der Inhalt gar nicht verändert werden, sondern eben nur in meinem neuen Beitragstyp. Dann hole ich mir mit "get post meta" die Information aus Filialeort raus und die hänge ich dann einfach an Content dran. Deswegen habe wir hier diesen kleinen Punkt. Gebe das Ganze aus. Und damit habe ich einen eigenen Beitragstyp namens "Filiale" kreiert, der zusätzliche Informationen kontrolliert vom Autor abfragt und dann ganz dezidiert ausgeben kann.

WordPress 4 Grundkurs

Lassen Sie sich die Grundlagen zu WordPress vermitteln und installieren Sie schnell Ihr erstes Blog, verändern das Aussehen und fügen weitere Plug-Ins hinzu.

3 Std. 40 min (67 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!