Slik lager du dine egne hendelseslister ved hjelp av egendefinerte innleggstyper [WordPress]

Slik lager du dine egne hendelseslister ved hjelp av egendefinerte innleggstyper [WordPress] / Wordpress og webutvikling

En av fordelene ved å bruke WordPress er den rene fleksibiliteten. Versjon 3 introduserte konseptet med egendefinerte innleggstyper for å utvide den innebygde funksjonaliteten.

La oss ta en titt i dag på hva du kan gjøre med dem, samt et raskt praktisk eksempel på hvordan du oppretter en hendelsesnotering ved hjelp av en egendefinert innleggstype som heter Begivenhet.

Hva er egendefinerte innleggstyper?

Vanligvis består en WordPress-blogg av tre typer innholdsblogg innlegg, blogglista lenker, og statisk sider. De fleste av oss er kjent med det faktum at sider skal brukes til ting som om meg eller kontaktinformasjon, mens vanlige innlegg går til din blog. Men utover det, hva om du vil legge til en annen spesiell type innhold som egentlig ikke passer inn i kronologisk rekkefølge av bloggen, og absolutt ikke er statisk - som hendelser? Det er der tilpassede posttyper kommer inn.

En ganske vanlig forespørsel for klubb eller gruppe nettsteder er å ha en slags arrangementskalender. En løsning som kan brukes er å skape en egen hendelseskategori, og bare legge inn alt der inne. Problemet med dette er at de vil bli vist på hovedbloggens tidslinje, og vi burde virkelig skille de to konseptene helt.

For det formål, la oss lage en ny posttype som heter event, som vil ha sin egen separate del av administrasjonsgrensesnittet.

Opprett en egendefinert innleggstype i WordPress

Vi gjør dette ved å justere temafilene dine direkte. Du kan oppnå samme effekt gjennom et plugin, men for å demonstrere konseptet og øve det, er det bare lettere å skrive dem direkte.

Åpne temaet ditt functions.php fil, lagret i temamappen inni wp-content / themes. På slutten av filen legger du til denne koden:

 add_action ('init', 'events_init'); funksjonen events_init () $ args = array ('labels' => array ('navn' => __ ('Hendelser'), 'singular_name' => __ ('Event'),) 'public' => 'rewrite' => array ("slug" => "events"), 'støtter' => array ('miniatyr', 'editor', 'title', 'custom-fields')); register_post_type ('events', $ args); 

Sørg for å gjøre dette før den avsluttende php-taggen. Ta en stund å lese over koden, men i det hele tatt er det bare å deklarere noen egenskaper (som etiketter for grensesnittet), hvordan nettadressene (omskrivninger) skal håndteres, og hvilke bestemte funksjoner denne posttypen støtter (i dette tilfellet miniatyrer, en innholdsredaktør for hendelsesbeskrivelsen, en eventtittel og egendefinerte felt).

Det er det, nå hvis du lagrer temaet ditt og oppdaterer bloggen din, forutsatt at du ikke har noen feil, bør du nå se en ny hendelsesseksjon på admin sidebaret.

Legg til noen eksempler på hendelser nå, og opprett et egendefinert felt kalt "dato" for å indikere når hendelsen er.

Vær oppmerksom på at vi må bruke egendefinerte felt for å spesifisere den faktiske datoen for arrangementet i stedet for datoen for innlegget, fordi datoen for innlegget er når det blir publisert. Siden du formentlig vil legge til hendelser som vil skje i fremtiden, vil innstillingen av publiseringsdatoen til den aktuelle hendelsesdatoen være ubrukelig.

Hvis du prøver å se hendelsen på dette punktet, kan du få en 404-feil. Dette skyldes at WordPress trenger å regenerere din Permalink-struktur for å regne for denne nye posttypen. Gå over til Permalinks innstillinger siden, kontroller at den er riktig satt som noen ganger, den kan gå tilbake til standard og lagre. Du bør nå kunne se det individuelle hendelsesposten.

Opprett en spesiell "Hendelsesoppføring" -side, bestilt etter dato

Nå som du har alle disse fantastiske hendelsene i bloggen din, ville det være fint å faktisk liste dem et sted. For det vil vi opprette en spesiell sidemal, slik at du kan legge den siden til dine vanlige menyelementer sammen med Om eller Kontakt.

Først må du lage en kopi av din page.php eller index.php hvis du ikke har en. Gi nytt navn til det custom-events-template.php eller noe lignende. Åpne den og legg til dette helt til starten av filen. Dette forteller WordPress, det er en spesiell sidemaler, og lar deg velge den i maler drop down.

  

Deretter finner du linjen som ligner på dette:

  

og rett før det, legg til dette:

  

Du bør kunne se ganske enkelt hva vi gjør her hvis du fulgte den siste opplæringen om å lage dine egne widgets - vi har opprettet en ny spørring, og bare begrenset det til å være vår nye event posttype.

Hvis du vil bruke denne spesielle sidemalen, må du bare opprette en ny side, navnet det uansett, og velg malen fra sidenattributter-boksen. Du trenger ikke legge til noe innhold på denne siden, bare publiser og se det. Med noe hell vil det vise hendelsene dine.

La oss gjøre en tilpasning til spørringen - for å vise hendelser i rekkefølge av den aktuelle hendelsesdatoen, i stedet for datoen hendelsen ble publisert. For å gjøre dette, erstatt søket med dette:

  

Det vil også være nyttig å vise datoen for hendelsen i selve innlegget. Legg til dette like etterpå innholdet(); fungere i malen:

 ID, "dato", sant); hvis ($ date) echo 'Denne hendelsen vil bli avholdt på:'. $ date; ?> 

Den lille brikken vil forsøke å hente hendelsesdatoen fra metaen, og vise den hvis den eksisterer.

Slik ser sluttproduktet på min nye hendelsesside, sortert etter dato og viser datoen for hendelsen i oppføringen:

Ekstra lekser

Når vi opprettet hendelsesposttypen, la vi til støtte for uthevede miniatyrbilder. Bruk opplæringen jeg skrev sist gang for å hente og vise dette bildet på hendelseslisten.

Konklusjon

Jeg håper dette viser deg hvor lett det er å utvide WordPress-funksjonalitet utover de grunnleggende innleggene og sidene. Kan du tenke på andre innleggstyper som du kanskje vil bruke? Hva med 'side' for sidebjelken din når du har noe å si, men det garanterer ikke et fullt innlegg?

Uansett, gi meg beskjed i kommentarene hvis du har problemer eller har prøvd egendefinerte innleggstyper på bloggen din, og sørg for at du sjekker ut resten av WordPress-veiledningene på MakeUseOf.com.

Utforsk mer om: Wordpress Plugins.