# 136: Premakni stvari v CMS po potrebi - CSS-triki

Anonim

V tem videu razpravljam o določeni situaciji v "resničnem svetu", v kateri sem sodeloval, kako ravnam s stranjo CodePen Meetups.

V prvih dneh srečanj CodePen smo imeli v načrtu samo enega. To naj bi bilo prvo srečanje CodePen v Austinu v Teksasu. Tako sem zanjo naredil stran kot del glavne spletne strani CodePen (projekt Rails) na naslovu URL / meetups /. Tam sem ga moral oblikovati, kakor sem hotel. Ugotavljal sem, kakšne informacije morajo biti na tej strani in kako jih predstaviti. (V videoposnetku smo takrat izkopali kopijo spletnega mesta prek predpomnjenih strani (posnetek zaslona)).

Čas je tekel. Vanjo sem dodal nekaj srečanj in oblika prikaza več srečanj na strani se je oblikovala. Ugotovil sem, kateri delčki informacij so pogosti med vsemi srečanji in kako to pokazati. Hkrati so postajale posodobitve dolgočasne. Dodajanje novih je delo. Enostavno pozabite odstraniti stare. In nekako zanič je samo tako brisanje HTML-ja, saj veste, da so to potencialno koristne informacije, ki jih uničujete. Tukaj sem ravno urejal predlogo HTML.

Prišel je čas, da je bilo to res treba sistematizirati in premakniti v sistem za upravljanje vsebin. Na srečo je bila selitev dokaj enostavna, saj sem natančno vedela, kaj potrebujem, in vedela sem, da imam orodja, da jo izpeljem. Tovrstne stvari smo dejansko že storili že nekajkrat. Na primer tukaj in tukaj.

Prihaja nekako takole:

  1. S tem vtičnikom ustvarite novo vrsto objave po meri (»Meetups«).
  2. Na ta CPT pritrdite natančno polja po meri (datum, čas, kraj itd.).
  3. Objavite stran!

Postavili smo has_archive, da trueza naše CPT, tako da smo dobili URL / meetups / brezplačno, ki samodejno uporablja predlogo `arhivsko-meetups.php`. Vendar smo morali resno delati po tej predlogi po meri, saj smo morali:

  1. Vse informacije, ki smo jih potrebovali, prikažite le, kako jih želimo.
  2. Prikaži prihajajoča srečanja v vrstnem redu datumov.
  3. Stara srečanja samodejno premaknite v razdelek »Pretekla srečanja«.

Vse popolnoma izvedljivo. Najprej poizvedimo za srečanja, ki jih želimo (po današnjem datumu). To naredimo tako, da zaženemo poizvedbo po meri, ki vključuje ustrezno polje po meri

 '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(); ?>

Z naprednimi polji po meri je izpis polj po meri zelo enostaven. Omogoča vam funkcijo, ki jo lahko uporabite na ta način, samo poimenujte polje:

Takšen izhod smo vnesli v obstoječi HTML, ki smo ga že uporabljali v tej novi predlogi. Nato za pretekla srečanja zaženemo še eno zanko, le z obratno primerjavo datumov.

Tukaj ni nič kaj razkrito, nad takimi stvarmi sem navdušen, ker:

  • Zdi se mi zelo produktivno za tako majhno količino dela (to sem opravil, ko sem eno noč ležal na kavču).
  • To lahko storim, ne da bi pri tem motil ekipo, da bi razvila nekaj domišljije, za to lahko uporabim svoje sposobnosti razvijalcev front-end. (Poigravanje s temami WordPress in osnovna funkcionalnost se mi zdi prednja spretnost).

Seveda za to ni potreben WordPress. Prepričan sem, da je to mogoče v katerem koli sistemu upravljanja vsebin. To so CMS. WordPress mi je najbolj všeč in ga najbolje poznam.