In deze video babbel ik over een bepaalde "echte wereld" situatie waarin ik me bevond hoe ik omga met de CodePen Meetups-pagina.
Aan het begin van CodePen Meetups hadden we er maar één gepland. Het zou de allereerste CodePen Meetup zijn in Austin, Texas. Dus ik heb er een pagina voor gemaakt als onderdeel van de hoofdwebsite van CodePen (een Rails-project) op de URL / meetups /. Daar mocht ik het ontwerpen zoals ik wilde. Ik was aan het uitzoeken wat voor soort informatie op die pagina moest staan en hoe ik die moest presenteren. (In de video hebben we een kopie van de site op dat moment opgegraven via Cached Pages (screenshot)).
De tijd verstreek. Ik heb er een paar meetups aan toegevoegd en de vorm van het weergeven van meerdere meetups op de pagina kreeg vorm. Ik bedacht welke stukjes informatie gebruikelijk waren bij alle bijeenkomsten en hoe ik dat kon laten zien. Tegelijkertijd werden updates vervelend. Nieuwe toevoegen is werk. Het is gemakkelijk om te vergeten om oude te verwijderen. En het is nogal stom om HTML zo te verwijderen, wetende dat dit potentieel nuttige informatie is die je vernietigt. Ik was hier gewoon meteen een HTML-sjabloon aan het bewerken.
De tijd kwam dat dit echt gesystematiseerd moest worden en verplaatst naar een Content Management Systeem. Gelukkig was de verhuizing vrij eenvoudig, omdat ik precies wist wat ik nodig had en ik wist dat ik de tools had om het voor elkaar te krijgen. We hebben dit soort dingen al meerdere keren gedaan. Bijvoorbeeld hier en hier.
Het komt ongeveer zo:
- Maak een nieuw aangepast berichttype ("Meetups") met deze plug-in.
- Voeg precies de aangepaste velden toe die u aan die CPT wilt (datum, tijd, locatie, enz.).
- Publiceer weg!
We hebben ingesteld has_archive
op true
voor onze CPT, dus we hebben de URL / meetups / gratis gekregen, die automatisch de sjabloon `archive-meetups.php` gebruikt. We moesten echter serieus maatwerk aan dat sjabloon doen, omdat we:
- Geef alle informatie weer die we nodig hadden, precies zoals we het willen.
- Geef aanstaande bijeenkomsten weer op volgorde van datum.
- Verplaats automatisch oude bijeenkomsten naar een gedeelte 'Eerdere bijeenkomsten'.
Allemaal volledig te doen. Laten we eerst de meetups opvragen die we willen (na de datum van vandaag). We doen dat door een aangepaste query uit te voeren met het juiste aangepaste veld
'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(); ?>
Het uitvoeren van aangepaste velden is heel eenvoudig met geavanceerde aangepaste velden. Het geeft je een functie die je op deze manier kunt gebruiken, geef het veld gewoon een naam:
We hebben dat soort uitvoer zojuist in de bestaande HTML gestopt die we al in deze nieuwe sjabloon gebruikten. Dan voeren we nog een lus uit, alleen met omgekeerde datumvergelijking, voor de afgelopen meetups.
Niets enorm onthullends hier, ik raak gewoon opgewonden over dit soort dingen omdat:
- Het voelt zeer productief aan, voor zo'n kleine hoeveelheid werk (ik deed het op een avond op de bank).
- Ik kan het doen zonder het team lastig te vallen om iets speciaals te ontwikkelen, ik kan mijn front-end ontwikkelaarvaardigheden gebruiken om het te doen. (Ik beschouw het sleutelen aan WordPress-thema's en basisfunctionaliteit als een front-end-vaardigheid).
En natuurlijk is WordPress hiervoor niet nodig. Ik weet zeker dat het mogelijk is in elk CMS. Dat is wat CMS's zijn. Ik hou van en ken WordPress het beste.