V tomto videu sa venujem konkrétnej situácii v „skutočnom svete“, do ktorej som sa zapájal pri tom, ako narábam so stránkou Stretnutia CodePen.
Na samých začiatkoch stretnutí CodePen sme mali naplánovaný jediný. Malo to byť vôbec prvé stretnutie CodePen v texaskom Austine. Vytvoril som pre to stránku ako súčasť hlavnej webovej stránky CodePen (projekt Rails) na adrese URL / meetups /. Tam som to musel navrhnúť, ako som chcel. Zisťoval som, aké informácie musia byť na tejto stránke a ako ich poskytnúť. (Vo videu sme prostredníctvom stránky vo vyrovnávacej pamäti (screenshot) vykopali vtedajšiu kópiu stránky).
Čas išiel ďalej. Pridal som k tomu niekoľko stretnutí a forma zobrazenia viacerých stretnutí na stránke dostala tvar. Zistil som, aké kúsky informácií boli bežné pri všetkých stretnutiach a ako to ukázať. Zároveň boli aktualizácie zdĺhavé. Pridávanie nových je práca. Je ľahké zabudnúť na odstránenie starých. A je to trochu naštvané, len také mazanie HTML, vediac, že sú to potenciálne užitočné informácie, ktoré ničíš. Práve som tu upravoval šablónu HTML.
Nastal čas, že to bolo skutočne potrebné systematizovať a presunúť do systému na správu obsahu. Našťastie bol presun dosť ľahký, pretože som presne vedel, čo potrebujem, a vedel som, že mám nástroje na jeho vytiahnutie. Takéto veci sme vlastne už robili niekoľkokrát. Napríklad tu a tu.
Prichádza asi takto:
- Vytvorte nový vlastný typ príspevku („Stretnutia“) pomocou tohto pluginu.
- K danému CPT pripojte presne požadované vlastné polia (dátum, čas, miesto konania atď.).
- Publikujte ďalej!
Nastavili sme has_archive
na hodnotu true
pre náš CPT, takže sme zadarmo dostali adresu URL / meetups /, ktorá automaticky používa šablónu `archive-meetups.php`. Na tejto šablóne sme však museli urobiť serióznu prácu na zákazke, pretože sme museli:
- Zobraziť všetky informácie, ktoré sme potrebovali, presne tak, ako to chceme.
- Zobrazte nadchádzajúce stretnutia v poradí podľa dátumu.
- Automaticky presuňte staré stretnutia do sekcie „Minulé stretnutia“.
Všetko úplne uskutočniteľné. Najprv sa poďme dopytovať po stretnutiach, ktoré chceme (po dnešnom dátume). Robíme to spustením vlastného dotazu, ktorý obsahuje správne vlastné pole
'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(); ?>
Výstup vlastných polí je pomocou rozšírených vlastných polí veľmi jednoduchý. Poskytne vám funkciu, ktorú môžete použiť takto, stačí pomenovať pole:
Tento výstup sme vložili do existujúceho kódu HTML, ktorý sme už používali v tejto novej šablóne. Potom spustíme ďalšiu slučku iba s porovnaním obrátených dátumov pre minulé stretnutia.
Nie je tu nič veľmi zjavné, len sa takouto vecou teším, pretože:
- Cítim sa vysoko produktívny, za také malé množstvo práce (urobil som to, keď som jednu noc ležal na gauči).
- Dokážem to bez toho, aby som musel bugovať tím, aby vyvinul niečo fantazijné, môžem na to využiť svoje schopnosti front-end vývojára. (Šmrncovanie s témami WordPress a základnými funkciami považujem za front-end zručnosť).
WordPress na to samozrejme nie je potrebný. Som si istý, že je to možné v každom CMS. To sú CMS. Len sa mi páči a poznám WordPress najlepšie.