# 136: Flytte ting til et CMS etter behov - CSS-triks

Anonim

I denne videoen snakker jeg om en bestemt "ekte verden" -situasjon jeg involverte i hvordan jeg håndterer siden CodePen Meetups.

Helt på begynnelsen av CodePen Meetups hadde vi bare en enkelt planlagt. Det skulle være den første CodePen Meetup noensinne i Austin, Texas. Så jeg lagde en side for den som en del av CodePen-hovednettstedet (et Rails-prosjekt) på URL / meetups /. Der fikk jeg designe det slik jeg ville. Jeg fant ut hva slags informasjon som måtte være på den siden og hvordan jeg skulle presentere den. (I videoen gravde vi opp en kopi av nettstedet på den tiden gjennom Cached Pages (skjermbilde)).

Tiden gikk. Jeg la til noen få møter i den, og formen for å vise flere møter på siden tok form. Jeg fant ut hvilke biter av informasjon som var vanlig blant alle møter, og hvordan jeg skulle vise det. Samtidig ble oppdateringene kjedelige. Å legge til nye er arbeid. Det er lett å glemme å fjerne gamle. Og det suger ganske enkelt bare å slette HTML slik, vel vitende om at det er potensielt nyttig informasjon du ødelegger. Jeg redigerte rett og slett en HTML-mal her.

Tiden kom at dette virkelig måtte systematiseres og flyttes inn i et Content Management System. Heldigvis var flyttingen ganske enkel, da jeg visste nøyaktig hva jeg trengte, og jeg visste at jeg hadde verktøy for å trekke det av. Vi har faktisk gjort denne typen ting før flere ganger. For eksempel her og her.

Det kommer omtrent slik:

  1. Opprett en ny tilpasset innleggstype ("Meetups") med dette pluginet.
  2. Legg nøyaktig til de tilpassede feltene du vil ha til CPT (dato, klokkeslett, sted osv.).
  3. Publiser borte!

Vi satt has_archivetruefor vår CPT, så vi fikk URL / meetups / gratis, som bruker malen `arkiv-meetups.php` automatisk. Vi måtte imidlertid gjøre seriøst tilpasset arbeid med den malen, ettersom vi måtte:

  1. Vis all informasjonen vi trengte akkurat slik vi vil ha den.
  2. Vis kommende møter i datorekkefølge.
  3. Flytt gamle møter automatisk til delen "Tidligere møter".

Alt gjennomførbart. La oss først spørre etter møtene vi ønsker (etter dagens dato). Vi gjør det ved å kjøre et tilpasset spørsmål som involverer riktig tilpasset felt

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

Å skrive ut egendefinerte felt er veldig enkelt med Advanced Custom Fields. Det gir deg en funksjon du kan bruke som dette, bare navngi feltet:

Vi la bare den typen utdata i den eksisterende HTML-en vi allerede brukte i denne nye malen. Deretter kjører vi en annen sløyfe, bare med omvendt datosammenligning, for tidligere møter.

Ingenting veldig åpenbarende her, jeg blir bare spent på denne typen ting fordi:

  • Det føles veldig produktivt for så lite arbeid (jeg gjorde det mens jeg lå på sofaen en natt).
  • Jeg kan gjøre det uten å måtte bugge teamet for å utvikle noe fancy, jeg kan bruke mine front-end utviklerferdigheter til å gjøre det. (Jeg anser å fikle med WordPress-temaer og grunnleggende funksjonalitet som en front-end ferdighet).

Og selvfølgelig er WordPress ikke nødvendig for dette. Jeg er sikker på at det er mulig i ethvert CMS. Det er hva CMS er. Jeg liker og kjenner WordPress best.