Reklame

En af fordelene ved at bruge WordPress er dens rene fleksibilitet. Det er ikke kun for indlæg og sider: tilpassede indlægstyper kan udvide kernefunktionerne til stort set alt.

Lad os se i dag på, hvad du kan gøre med tilpassede indlægstyper, såvel som et hurtigt praktisk eksempel på, hvordan man opretter en begivenhedsfortegnelse ved hjælp af en brugerdefineret indlægstype kaldet Begivenhed.

Bemærk: Denne tutorial skal kun overvejes til uddannelsesmæssige formål, så du kan lære koden, der bruges til at oprette tilpassede indlægstyper. Hvis du faktisk vil have et stort plugin-program til begivenheder til dit WordPress-sted, kan du prøve Begivenhedskalenderen, som er veludviklet og gratis.

Hvad er tilpassede indlægstyper i WordPress?

Et WordPress-sted består typisk af to typer indhold: daterede blogindlæg og statiske sider. De fleste af os der har oprette en WordPress-blog Konfigurer din blog med WordPress: Den ultimative guideVil du starte din egen blog, men ved ikke hvordan? Se til WordPress, den mest kraftfulde blogplatform, der er tilgængelig i dag. Læs mere

kender det faktum, at sider skal bruges til ting som "Om mig" eller "Kontaktoplysninger", mens regelmæssige indlæg går til din blog.

Men ud over det, hvad nu hvis du vil tilføje en anden speciel form for indhold, der ikke rigtig passer ind i bloggens kronologiske rækkefølge og bestemt ikke er statisk? Det er her brugerdefinerede indlægstyper kommer ind.

En forholdsvis almindelig anmodning om klub- eller gruppesteder er at have en slags begivenhedskalender. En løsning, der kan anvendes, er at oprette en separat hændelseskategori af indlæg. Problemet med dette er, at de vil blive vist i den vigtigste blog-tidslinje, og vi burde virkelig adskille de to koncepter helt.

Lad os med det formål oprette en ny posttype, der kaldes begivenhed, der har sin egen separate sektion af administratorgrænsefladen.

Sådan opretter du en tilpasset posttype i WordPress

Vi gør dette ved at justere dine temafiler direkte. Du kunne opnå den samme effekt gennem et plugin, men for at demonstrere konceptet og praksis er det bare lettere at skrive dem direkte. Hvis du ikke har det godt med at gøre dette, kan du overveje at bruge Min brugerdefinerede funktioner plugin, som giver dig mulighed for at tilføje kode ikke-destruktiv.

Mine brugerdefinerede funktioner

Åbn dit tema functions.php fil, gemt i temamappen inde wp-content / temaer; eller brug pluginnet Mine tilpassede funktioner, som du finder på Indstillinger > PHP Inserter. I slutningen af ​​filen skal du tilføje denne kode:

add_action ('init', 'events_init'); function events_init () {$ args = array ('labels' => array ('name' => __ ('Events'), 'singular_name' => __ ('Event'),), 'public' => true, 'has_archive' => true, 'rewrite' => array ("slug" => "events"), 'supports' => array ('miniature', 'editor', 'titel', 'brugerdefinerede felter')); register_post_type ('events', $ args); }

Sørg for at gøre dette inden den afsluttende php (?>) tag, hvis der er en i din functions.php fil.

Brug et stykke tid på at læse over koden. Det erklærer nogle egenskaber (som etiketter til grænsefladen), og hvordan webadresserne (omskrives) skal håndteres, samt hvilke funktioner denne posttype understøtter. Du kan f.eks. Tilføje et brugerdefineret felt til din tilpassede posttype med egenskaben understøtter.

I dette tilfælde har vi erklæret, at vores begivenhedstype understøtter miniaturebilleder, en indholdsredigerer til begivenhedsbeskrivelsen, en begivenhedstitel og brugerdefinerede felter. Vi har også tilføjet has_archive, så at navigering til begivenhedssiden får vist et arkiv over alle begivenheder, der ligner en blog.

Det er det, nu, hvis du gemmer dit tema og genindlæser din blog, hvis du antager, at du ikke har nogen fejl, skal du nu se et nyt begivenhedsafsnit på din admin sidepanel. Yay!

Bemærk, hvordan mit nuværende tema drager fuld fordel af tilpassede indlægstyper til alle mulige ekstra funktioner i administratoren.

Tilføj nogle eksempler på begivenheder nu.

To fantastiske fester er blevet føjet til begivenhedslisten!

Da dette er en begivenhed, skal du oprette et brugerdefineret felt kaldet dato for at indikere, hvornår begivenheden finder sted. Brug mm / dd / yyyy format.

Oprettelse af et brugerdefineret dato felt for at vise, hvornår begivenheden faktisk vil finde sted

Bemærk, at vi er nødt til at bruge brugerdefinerede felter til at specificere den faktiske dato for begivenheden snarere end postens dato, fordi postens dato repræsenterer, når meddelelsen offentliggøres. Da du formodentlig vil tilføje begivenheder, der vil ske i fremtiden, ville det være nytteløst at indstille udgivelsesdatoen til den aktuelle begivenhedsdato.

Hvis du prøver at se begivenheden på dette tidspunkt, kan du få en 404-fejl. Dette skyldes, at WordPress er nødt til at regenerere din Permalink URL-struktur for at tage højde for denne nye indlægstype. Gå over til Indstillinger> Permalinks side, og tryk på Gem igen.

Du skal nu kunne se det enkelte begivenhedsindlæg. Bemærk, at den første del af URL'en, efter dit domænenavn, er /events/. Vi valgte dette i denne kodelinje:

'omskrive' => matrix ("slug" => "begivenheder"),

Tilpas begivenhedsfortegnelsessiden

Nu hvor du har alle disse fantastiske begivenheder i din blog, ville det være rart at faktisk liste dem et eller andet sted. Til dette opretter vi en speciel sideskabelon, så du derefter kan tilføje den side til dine almindelige menupunkter sammen med Om eller Kontakt.

Da vi allerede har specificeret, at hændelsesposttypen skulle have et arkiv, kan du gå videre og se, hvad standard er ved at besøge /events/. På det almindelige 20-sytten tema på mit teststed fik jeg dette:

Arkiv side, der viser begivenheder

Tilpasning af denne output afhænger af hvilket tema, du bruger, og at dække hele WordPress-templeringssystemet er godt uden for denne artikels rækkevidde. For denne tutorials skyld skal jeg dog antage, at du bruger Twenty-Seventeen.

Start med at oprette en kopi af archive.php, og omdøb det til arkiv-events.php. Dette er en standard navnekonvention det betyder, at WordPress automatisk bruger denne skabelon til at vise arkivet for hændelsesposttypen.

Efter gennemgang af filen har de tyveog sytten forfattere leveret en postformatmekanisme, som er for kompliceret til vores behov:

/* * Medtag den post-format-specifikke skabelon til indholdet. * Hvis du vil tilsidesætte dette i et underordnet tema, skal du medtage en fil. * kaldet indhold -___. php (hvor ___ er navnet på postformatet), og det vil i stedet blive brugt. */ get_template_part ('skabelon-dele / post / indhold', get_post_format ());

Bemærk: Et underordnetema anbefales, da eventuelle opdateringer til det originale tema vil overskrive dine ændringer. Det her WordPress support artikel beskriver processen med at skabe et barnetema for 22. For kortfattethed skal jeg bare arbejde på det originale tema og er ligeglad med, om mit arbejde går tabt i en senere opdatering.

Klip hele blokken ud, og indsæt følgende i stedet. Dette er bare en forenklet kopi af hvad der findes i disse postformatskabeloner for at lære:

Hvis du gemmer og forhåndsviser siden Begivenheder igen, vil du bemærke, at den nu har datoer. Men de tager fejl. De viser i øjeblikket udgivelsesdatoen i stedet for begivenhedsdatoen. Lad os som sidste skridt ændre det til den faktiske dato, hvor begivenheden afholdes. Find den bit, der genererer tiden, twenty_seventeen_time_link (), og udskift det med følgende:

dato ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'date', sand)))

Dette får datoen fra det postmetafelt, vi indstiller, og derefter bruger PHP dato() funktion til at formatere det til noget mere læsbart.

Arkiv med datoer

Næste skridt?

Hvis du ikke er tilfreds med din nuværende webhost, anbefaler vi stærkt at du bruger en administreret WordPress-vært som WP-motor, som vi selv bruger til vores søstersider. Ellers tilbyder InMotion Hosting overkommelige planer, som er endnu billigere med vores specielle rabat, når du bruger dette link.

Bemærk derefter, at når vi oprettede typen af ​​begivenhedsindlæg, kodede vi allerede support for fremhævede miniaturer. Brug vores guide til fremhævede billeder og indsæt miniaturer Den komplette guide til udvalgte miniaturebilleder og billedstørrelser i WordPressHer er alt hvad du har brug for at vide om billedstørrelser i WordPress og håndtering af fremhævede billeder. Læs mere at få fat i og få vist et fremhævet billede i arkivet med begivenhedsfortegnelser.

James har en BSc i kunstig intelligens og er CompTIA A + og Network + certificeret. Han er hovedudvikler af MakeUseOf og bruger sin fritid på at spille VR paintball og brætspil. Han har bygget pc'er siden han var barn.