U ovom videozapisu pričam o određenoj situaciji u "stvarnom svijetu" u kojoj sam sudjelovao kako radim sa stranicom CodePen Meetups.
Na samim počecima CodePen Meetupa planirali smo samo jedan. To je trebao biti prvi CodePen Meetup u Austinu u Teksasu. Stoga sam za nju napravio stranicu kao dio glavne web stranice CodePen (projekt Rails) na URL-u / meetups /. Eto, moram ga dizajnirati kako sam želio. Smišljao sam kakve informacije trebaju biti na toj stranici i kako ih predstaviti. (U videozapisu smo u to vrijeme iskopali kopiju web mjesta putem predmemoriranih stranica (snimka zaslona)).
Vrijeme je prolazilo. Dodao sam mu nekoliko okupljanja, a oblik prikazivanja više okupljanja na stranici oblikovao se. Shvatio sam koji su komadići informacija česti među svim susretima i kako to pokazati. Istodobno, ažuriranja su postajala zamorna. Dodavanje novih je posao. Lako je zaboraviti ukloniti stare. I nekako je sranje samo tako brisanje HTML-a, znajući da su to potencijalno korisne informacije koje uništavate. Ovdje sam jednostavno uređivao HTML predložak.
Došlo je vrijeme da to zaista treba sistematizirati i premjestiti u Sustav za upravljanje sadržajem. Srećom, potez je bio prilično lagan, jer sam točno znao što trebam i znao sam da imam alate da to izvedem. Zapravo smo već nekoliko puta radili takve stvari. Na primjer ovdje i ovdje.
Dolazi otprilike ovako:
- Stvorite novu prilagođenu vrstu objave („Meetups“) s ovim dodatkom.
- Na taj CPT priložite točno ona prilagođena polja (datum, vrijeme, mjesto itd.).
- Objavite dalje!
Postavili smo has_archive
se true
za našu CPT-a, tako da smo dobili URL / okupljanja / besplatno, što automatski koristi predložak `arhiva-meetups.php`. Morali smo ipak ozbiljno raditi na tom predlošku, jer smo morali:
- Prikažite sve potrebne podatke upravo onako kako ih želimo.
- Prikažite predstojeće sastanke prema redoslijedu datuma.
- Automatski premjestite stara okupljanja u odjeljak "Prošla okupljanja".
Sve u potpunosti izvedivo. Prvo upitajmo za okupljanja koja želimo (nakon današnjeg datuma). To radimo izvođenjem prilagođenog upita koji uključuje odgovarajuće prilagođeno polje
'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(); ?>
Izlaz prilagođenih polja vrlo je jednostavan s naprednim prilagođenim poljima. Daje vam funkciju koju možete koristiti na ovaj način, samo imenujte polje:
Upravo smo tu vrstu rezultata stavili u postojeći HTML koji smo već koristili u ovom novom predlošku. Zatim pokrećemo drugu petlju, samo s obrnutom usporedbom datuma, za prošla okupljanja.
Ovdje nema ničeg previše otkrivajućeg, samo se uzbudim zbog takvih stvari jer:
- Osjećam se vrlo produktivno, za tako malu količinu posla (učinio sam to dok sam ležao na kauču jedne noći).
- Mogu to učiniti bez potrebe da prisluškujem tim kako bi razvio nešto otmjeno, za to mogu upotrijebiti svoje vještine razvojnog programera. (Matanje WordPress temama i osnovnom funkcionalnošću smatram prednjom vještinom).
I naravno, WordPress za to nije potreban. Siguran sam da je to moguće u bilo kojem CMS-u. To su CMS-ovi. Jednostavno volim i znam WordPress najbolje.