In diesem Video schwatzte ich über eine bestimmte Situation in der „realen Welt“, in der ich mich mit dem Umgang mit der CodePen-Meetups-Seite befasst hatte.
Zu Beginn der CodePen-Meetups hatten wir nur einen einzigen geplant. Es war das erste CodePen-Meetup in Austin, Texas. Also habe ich eine Seite dafür als Teil der CodePen-Hauptwebsite (ein Rails-Projekt) unter der URL / meetups / erstellt. Dort muss ich es entwerfen, wie ich wollte. Ich habe herausgefunden, welche Art von Informationen auf dieser Seite sein müssen und wie sie präsentiert werden sollen. (Im Video haben wir zu diesem Zeitpunkt eine Kopie der Site über zwischengespeicherte Seiten ausgegraben (Screenshot)).
Die Zeit verging. Ich habe ein paar Meetups hinzugefügt, und die Form der Anzeige mehrerer Meetups auf der Seite nahm Gestalt an. Ich fand heraus, welche Informationen bei allen Meetups gemeinsam waren und wie ich das zeigen konnte. Gleichzeitig wurden Updates mühsam. Das Hinzufügen neuer ist Arbeit. Es ist leicht zu vergessen, alte zu entfernen. Und es ist schade, einfach so HTML zu löschen, weil man weiß, dass dies potenziell nützliche Informationen sind, die man zerstört. Ich habe gerade eine HTML-Vorlage hier bearbeitet.
Es war an der Zeit, dass dies wirklich systematisiert und in ein Content Management System überführt werden musste. Glücklicherweise war der Umzug ziemlich einfach, da ich genau wusste, was ich brauchte und wusste, dass ich Werkzeuge hatte, um ihn abzunehmen. Wir haben so etwas schon mehrmals gemacht. Zum Beispiel hier und hier.
Es kommt ungefähr so:
- Erstellen Sie mit diesem Plugin einen neuen benutzerdefinierten Beitragstyp ("Meetups").
- Fügen Sie diesem CPT genau die gewünschten benutzerdefinierten Felder hinzu (Datum, Uhrzeit, Ort usw.).
- Veröffentlichen Sie weg!
Wir setzen has_archive
auf true
unsere CPT, so dass wir die URL / meetups / kostenlos erhalten, die automatisch die Vorlage `Archiv-meetups.php` verwendet. Wir mussten jedoch ernsthafte benutzerdefinierte Arbeiten an dieser Vorlage durchführen, da wir:
- Zeigen Sie alle benötigten Informationen so an, wie wir sie möchten.
- Zeigen Sie bevorstehende Meetups in Datumsreihenfolge an.
- Verschieben Sie alte Meetups automatisch in einen Abschnitt "Vergangene Meetups".
Alles total machbar. Fragen wir zuerst nach den gewünschten Meetups (nach dem heutigen Datum). Dazu führen wir eine benutzerdefinierte Abfrage aus, die das richtige benutzerdefinierte Feld enthält
'meetups', 'posts_per_page' => -1, 'meta_key' => 'date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'date', 'compare' => '>=', 'value' => $today )) )); foreach ($myposts as $post) : setup_postdata($post); // The loop! Output stuff! endforeach; wp_reset_postdata(); ?>
Die Ausgabe von benutzerdefinierten Feldern ist mit erweiterten benutzerdefinierten Feldern sehr einfach. Es gibt Ihnen eine Funktion, die Sie wie folgt verwenden können. Benennen Sie einfach das Feld:
Wir haben diese Art von Ausgabe einfach in den vorhandenen HTML-Code eingefügt, den wir bereits in dieser neuen Vorlage verwendet haben. Dann führen wir eine weitere Schleife für die vergangenen Meetups durch, nur mit inversem Datumsvergleich.
Hier gibt es nichts sehr Offenbarendes, ich freue mich nur über so etwas, weil:
- Es fühlt sich sehr produktiv an, für so wenig Arbeit (ich habe es getan, als ich eines Nachts auf der Couch lag).
- Ich kann es tun, ohne das Team nerven zu müssen, um etwas Besonderes zu entwickeln. Ich kann meine Fähigkeiten als Front-End-Entwickler nutzen, um es zu tun. (Ich betrachte das Basteln mit WordPress-Themen und Grundfunktionen als Front-End-Fähigkeit).
Und dafür ist WordPress natürlich nicht erforderlich. Ich bin sicher, dass es in jedem CMS möglich ist. Das sind CMS. Ich mag und kenne WordPress am besten.