Erstellen einer eigenen Ereignisliste mit benutzerdefinierten Beitragstypen [WordPress]

Erstellen einer eigenen Ereignisliste mit benutzerdefinierten Beitragstypen [WordPress] / Wordpress & Webentwicklung

Einer der Vorteile von WordPress ist seine Flexibilität. In Version 3 wurde das Konzept der benutzerdefinierten Beitragstypen eingeführt, um die integrierte Funktionalität zu erweitern.

Lassen Sie uns heute einen Blick darauf werfen, was Sie damit tun könnten, und ein kurzes praktisches Beispiel, wie Sie eine Ereignisliste mit einem benutzerdefinierten Beitragstyp erstellen Veranstaltung.

Was sind benutzerdefinierte Beitragstypen??

Ein WordPress-Blog besteht normalerweise aus drei Arten von Inhalten: Blog Beiträge, Blogroll Links, und statisch Seiten. Die meisten von uns sind mit der Tatsache vertraut, dass Seiten für solche Dinge verwendet werden sollten über mich oder Kontaktinformation, während regelmäßige Beiträge zu Ihrem gehen Blog. Aber darüber hinaus, was wäre, wenn Sie einen anderen speziellen Inhalt hinzufügen möchten, der nicht wirklich in die chronologische Reihenfolge des Blogs passt und sicherlich keine statischen Ereignisse sind? Hier kommen benutzerdefinierte Posttypen ins Spiel.

Eine ziemlich häufige Anfrage für Club- oder Gruppenseiten besteht darin, einen Veranstaltungskalender zu haben. Eine Lösung, die angewendet werden könnte, besteht darin, eine separate Kategorie Ereignisse zu erstellen und einfach alles dort zu posten. Das Problem dabei ist, dass sie in der Hauptzeitleiste des Blogs angezeigt werden, und wir sollten die beiden Konzepte wirklich vollständig trennen.

Zu diesem Zweck erstellen wir einen neuen Beitragstyp mit dem Namen event, der über einen eigenen Abschnitt der Administratoroberfläche verfügt.

Erstellen Sie einen benutzerdefinierten Beitragstyp in WordPress

Wir tun dies, indem Sie Ihre Designdateien direkt anpassen. Sie können den gleichen Effekt durch ein Plugin erzielen, aber um das Konzept und die Praxis zu demonstrieren, ist es einfacher, sie direkt zu schreiben.

Öffne dein Thema Functions.php Datei, die im Themenordner gespeichert ist WP-Inhalt / Themen. Fügen Sie am Ende der Datei diesen Code hinzu:

 add_action ('init', 'events_init'); Funktion events_init () $ args = array ('labels' => array ('name' => __ ('Events'), 'singular_name' => __ ('Event')), 'public' => true, 'rewrite' => array ("slug" => "events"), 'unterstützt' => array ('thumbnail', 'editor', 'title', 'custom-fields')); register_post_type ('events', $ args); 

Stellen Sie sicher, dass Sie dies vor dem schließenden PHP-Tag tun. Nehmen Sie sich etwas Zeit, um den Code durchzulesen, aber im Wesentlichen werden nur einige Eigenschaften (wie Beschriftungen für die Benutzeroberfläche) angegeben, wie URLs (Umschreibungen) behandelt werden sollen und welche besonderen Eigenschaften dieser Post-Typ unterstützt (in diesem Fall Thumbnails, a Inhaltseditor für die Ereignisbeschreibung, einen Ereignistitel und benutzerdefinierte Felder).

Wenn Sie nun Ihr Design speichern und Ihr Blog neu laden, sollten Sie, sofern Sie keine Fehler haben, einen neuen Ereignisabschnitt in der Admin-Sidebar sehen.

Fügen Sie jetzt einige Beispielereignisse hinzu und erstellen Sie ein benutzerdefiniertes Feld mit dem Namen "Datum", um anzugeben, wann das Ereignis ist.

Beachten Sie, dass wir benutzerdefinierte Felder verwenden müssen, um das tatsächliche Datum des Ereignisses und nicht das Datum des Beitrags anzugeben, da das Datum des Beitrags der Zeitpunkt der Veröffentlichung ist. Da Sie vermutlich Ereignisse hinzufügen möchten, die in der Zukunft auftreten werden, wäre es sinnlos, das Veröffentlichungsdatum auf das tatsächliche Ereignisdatum zu setzen.

Wenn Sie versuchen, das Ereignis an diesem Punkt anzuzeigen, wird möglicherweise ein 404-Fehler angezeigt. Dies liegt daran, dass WordPress Ihre Permalink-Struktur neu erstellen muss, um diesen neuen Beitragstyp zu berücksichtigen. Geh rüber zum Permalinks-Einstellungen Stellen Sie sicher, dass sie richtig eingestellt ist, da sie manchmal zu den Standardwerten zurückkehren und speichern kann. Sie sollten jetzt in der Lage sein, den einzelnen Ereignisbeitrag anzuzeigen.

Erstellen Sie eine spezielle Seite "Ereignisliste", sortiert nach Datum

Nun, da Sie all diese fantastischen Ereignisse in Ihrem Blog haben, wäre es schön, sie irgendwo aufzulisten. Dazu erstellen wir eine spezielle Seitenvorlage, so dass Sie diese Seite neben "Über" oder "Kontakt" zu Ihren regulären Menüelementen hinzufügen können.

Machen Sie zuerst eine Kopie von Ihrem page.php oder index.php wenn du keinen hast Benennen Sie es um custom-events-template.php oder etwas ähnliches. Öffnen Sie es und fügen Sie es ganz am Anfang der Datei hinzu. Dies teilt WordPress mit, dass es sich um eine spezielle Seitenvorlage handelt, und Sie können diese in der Dropdown-Liste für Vorlagen auswählen.

  

Finden Sie als Nächstes die Zeile, die der folgenden ähnelt:

  

und kurz davor fügen Sie folgendes hinzu:

  

Sie sollten in der Lage sein, ganz einfach zu sehen, was wir hier tun, wenn Sie das letzte Tutorial zur Erstellung Ihrer eigenen Widgets befolgt haben. Wir haben eine neue Abfrage erstellt und diese auf unseren neuen Beitragstyp beschränkt.

Um diese spezielle Seitenvorlage zu verwenden, erstellen Sie einfach eine neue Seite, benennen Sie sie nach Belieben und wählen Sie die Vorlage aus dem Feld Seitenattribute aus. Sie müssen dieser Seite keinen Inhalt hinzufügen, sondern nur veröffentlichen und anzeigen. Mit etwas Glück werden Ihre Ereignisse angezeigt.

Nehmen wir noch eine weitere Anpassung an der Abfrage vor, um Ereignisse in der Reihenfolge des tatsächlichen Datums des Ereignisses anstatt des Datums der Veröffentlichung des Ereignisses anzuzeigen. Ersetzen Sie dazu die Abfrage durch Folgendes:

  

Es wäre auch hilfreich, das Datum des Ereignisses in der aktuellen Nachricht anzuzeigen. Füge das gleich danach hinzu der Inhalt(); Funktion in der Vorlage:

 ID, 'Datum', wahr); if ($ date) echo 'Dieses Ereignis wird gehalten am:'. $ date; ?> 

Dieses kleine Snippet versucht, das Ereignisdatum aus der Meta zu holen und es anzuzeigen, wenn es existiert.

So sieht das Endprodukt auf meiner neuen Ereignisseite aus, sortiert nach Datum und zeigt das Datum des Ereignisses in der Liste an:

Zusätzliche Hausaufgaben

Bei der Erstellung des Ereignispostentyps haben wir Unterstützung für vorgestellte Miniaturbilder hinzugefügt. Verwenden Sie das Tutorial, das ich beim letzten Mal geschrieben habe, um dieses Bild in der Ereignisliste aufzurufen und anzuzeigen.

Fazit

Ich hoffe, das zeigt Ihnen, wie einfach es ist, die WordPress-Funktionalität über die grundlegenden Beiträge und Seiten hinaus zu erweitern. Fällt Ihnen ein anderer Posttyp ein, den Sie verwenden möchten? Wie wäre es mit "Randbemerkungen" für Ihre Sidebar, wenn Sie etwas zu sagen haben, dies jedoch keinen vollständigen Beitrag rechtfertigt?

Wie auch immer, lassen Sie mich in den Kommentaren wissen, wenn Sie Probleme haben oder benutzerdefinierte Posttypen in Ihrem Blog versucht haben, und stellen Sie sicher, dass Sie sich die restlichen WordPress-Tutorials auf MakeUseOf.com ansehen.

Erfahren Sie mehr über: Wordpress-Plugins.