Reklama

Jednou z výhod používania WordPress je jeho úplná flexibilita. Nejde iba o príspevky a stránky: vlastné typy príspevkov môžu rozšíriť základné funkcie na prakticky čokoľvek.

Pozrime sa dnes, čo by ste mohli urobiť s vlastnými typmi príspevkov, ako aj rýchly praktický príklad vytvorenia záznamu udalostí pomocou vlastného typu príspevku s názvom Event.

Poznámka: Tento tutoriál by sa mal považovať iba za vzdelávacie účely, aby ste sa mohli naučiť kód používaný na vytváranie vlastných typov príspevkov. Ak skutočne chcete mať skvelý doplnok so zoznamom udalostí pre svoj web WordPress, vyskúšajte Kalendár udalostí, ktorá je dobre vyvinutá a bezplatná.

Čo sú vlastné typy príspevkov v programe WordPress?

Web WordPress sa zvyčajne skladá z dvoch typov obsahu: datované príspevky blogu a statické stránky. Väčšina z nás, ktorí majú nastaviť blog WordPress Nastavte si blog pomocou WordPress: The Ultimate GuideChcete začať svoj vlastný blog, ale neviete ako? Pozrite sa na WordPress, najvýkonnejšiu platformu na blogovanie, ktorá je dnes k dispozícii. Čítaj viac

instagram viewer
sú oboznámení so skutočnosťou, že stránky by sa mali používať na veci ako „O mne“ alebo „Kontaktné informácie“, zatiaľ čo bežné príspevky smerujú na váš blog.

Čo ďalej, ak však chcete pridať ďalší špeciálny druh obsahu, ktorý sa nezmestí do chronologického poradia blogu a určite nie je statický? Tu prichádzajú vlastné typy príspevkov.

Pomerne bežnou požiadavkou na klubové alebo skupinové stránky je mať kalendár podujatí. Jedným z riešení, ktoré by sa dalo použiť, je vytvorenie samostatnej kategórie príspevkov udalostí. Problém je v tom, že sa zobrazia v hlavnej časovej osi blogu a tieto dva koncepty by sme mali úplne oddeliť.

Na tento účel vytvorme nový typ príspevku s názvom udalosť, ktorý bude mať vlastnú samostatnú časť rozhrania správcu.

Ako vytvoriť vlastný typ príspevku v

Urobíme to tak, že súbory tém upravíme priamo. Rovnaký efekt by ste mohli dosiahnuť prostredníctvom doplnku, ale demonštrovať koncept a prax je jednoduchšie ich napísať priamo. Ak sa vám to nepáči, zvážte použitie Doplnok Moje vlastné funkcie, čo vám umožňuje nedeštruktívne pridať kód.

Moje vlastné funkcie

Otvorte tému functions.php súbor uložený v priečinku témy vo vnútri wp-content / themes; alebo použite doplnok Moje vlastné funkcie, ktorý nájdete na nastavenie > Vkladač PHP. Na koniec súboru pridajte tento kód:

add_action ('init', 'events_init'); function events_init () {$ args = array ('labels' => array ('name' => __ ('Events'), 'singular_name' => __ ('Event'),), 'public' => true, 'has_archive' => true, 'prepísať' => pole ("slug" => "udalosti"), 'podporuje' => array ('thumbnail', 'editor', 'title', 'custom-fields')); register_post_type ('events', $ args); }

Uistite sa, že to urobíte pred záverečným php (?>), ak je vo vašej functions.php file.

Chvíľu si prečítajte kód. Vyhlasuje niektoré vlastnosti (napríklad štítky rozhrania), spôsob zaobchádzania s adresami URL (prepisy) a funkcie, ktoré tento post-type podporuje. Napríklad môžete do svojho vlastného typu príspevku pridať vlastné pole pomocou vlastnosti support.

V tomto prípade sme vyhlásili náš typ udalosti, aby podporoval miniatúry, editor obsahu pre popis udalosti, názov udalosti a vlastné polia. Pridali sme tiež has_archive, aby navigácia na stránku udalostí vyvolala archív všetkých udalostí, podobný blogu.

To je ono, ak teraz uložíte motív a znova načítať svoj blog, za predpokladu, že nemáte žiadne chyby, mali by ste teraz vidieť sekciu nových udalostí na bočnom paneli správcu. Jéj!

Všimnite si, ako moja aktuálna téma využíva všetky výhody vlastných typov príspevkov pre všetky ďalšie funkcie správcu.

Pridajte niekoľko ukážkových udalostí.

Do zoznamu udalostí boli pridané dve úžasné večierky!

Potom, keďže ide o udalosť, vytvorte vlastné pole s názvom dátum na označenie, kedy dôjde k udalosti. použitie mm / dd / rrrr Formát.

Vytvorenie vlastného poľa dátumu, ktoré ukáže, kedy sa udalosť skutočne uskutoční

Upozorňujeme, že musíme použiť vlastné polia na určenie skutočného dátumu udalosti, a nie dátumu uverejnenia, pretože dátum uverejnenia predstavuje dátum uverejnenia oznámenia. Pretože by ste pravdepodobne pridávali udalosti, ktoré sa stanú v budúcnosti, nastavenie dátumu zverejnenia na skutočný dátum udalosti by bolo zbytočné.

Ak sa v tejto chvíli pokúsite zobraziť udalosť, môže sa vyskytnúť chyba 404. Je to preto, že program WordPress musí znovu vygenerovať štruktúru adresy URL Permalink, aby sa zohľadnil tento nový typ príspevku. Zamierte na Nastavenia> Permalinky stránku a znova stlačte tlačidlo Uložiť.

Teraz by ste mali mať možnosť zobraziť príspevok jednotlivých udalostí. Upozorňujeme, že prvá časť adresy URL za názvom vašej domény je /events/. Vybrali sme si to v tomto riadku kódu:

'prepísať' => pole ("slug" => "udalosti"),

Prispôsobte stránku so zoznamom udalostí

Teraz, keď máte všetky tieto fantastické udalosti vo svojom blogu, bolo by pekné ich ich niekde uviesť. Za týmto účelom vytvoríme špeciálnu šablónu stránky, ktorú potom môžete pridať do bežných položiek ponuky vedľa položky O aplikácii alebo Kontakt.

Keďže sme už uviedli, že typ príspevku v udalosti by mal mať archív, môžete navštíviť stránku a zistiť, čo je predvolená hodnota /events/. V štandardnej téme dvadsať sedemnásť na testovacej stránke som získal toto:

Stránka archivujúca udalosti

Prispôsobenie tohto výstupu bude závisieť od témy, ktorú používate, a pokrytie celého systému šablón WordPress je mimo rozsahu tohto článku. Pre účely tohto návodu však predpokladám, že používate dvadsaťsedemnásť.

Začnite vytvorením kópie archive.phpa premenujte ho na archív-events.php. Toto je štandardný konvenčný názov to znamená, že WordPress automaticky použije túto šablónu na zobrazenie archívu pre typ príspevku udalostí.

Po preskúmaní spisu dvadsaťsedemnásť autorov poskytlo postformátový mechanizmus, ktorý je pre naše potreby príliš komplexný:

/* * Zahrňte do obsahu šablónu špecifickú pre post-format. * Ak to chcete potlačiť v podradenej téme, vložte súbor. * nazýva sa obsah -___. php (kde ___ je názov formátu post) a použije sa namiesto toho. */ get_template_part ('template-parts / post / content', get_post_format ());

Poznámka: Odporúča sa podradená téma, pretože všetky aktualizácie pôvodnej témy prepíšu vaše zmeny. toto Článok podpory WordPress popisuje proces vytvárania detskej témy pre dvadsaťsedemnásť. Pre stručnosť sa chystám pracovať iba na pôvodnej téme a nestarám sa o to, či sa moja práca stratí v neskoršej aktualizácii.

Vystrihnite celý blok a vložte ho do nasledujúceho. Toto je iba zjednodušená kópia toho, čo je v týchto šablónach post formátov, kvôli učeniu:

Ak stránku Udalosti znova uložíte a zobrazíte ukážku, všimnete si, že teraz má dátumy. Ale mýlia sa. V súčasnosti zobrazujú dátum zverejnenia namiesto dátumu udalosti. Posledným krokom je zmena tohto aktuálneho dátumu. Nájdite bit, ktorý generuje čas, twenty_seventeen_time_link ()a nahraďte ho nasledujúcim textom:

dátum ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'date', true))))

Získava sa tak dátum z poľa meta príspevku, ktoré sme nastavili, a potom pomocou PHP dátum() funkciu naformátovať na niečo lepšie čitateľné.

Archív s dátumami

Ďalšie kroky?

Ak nie ste spokojní so svojím súčasným webovým hostiteľom, dôrazne odporúčame použiť spravovaného hostiteľa programu WordPress, ako je napríklad WP Engine, ktoré sami používame pre naše sesterské stránky. V opačnom prípade ponúka InMotion Hosting prijateľné plány, ktoré sú ešte lacnejšie s našou špeciálnou zľavou, keď ich používate tento odkaz.

Potom si všimnite, že keď sme vytvorili typ príspevku udalosti, už sme kódovali podporu pre odporúčané miniatúry. Použite nášho sprievodcu odporúčané obrázky a miniatúry príspevkov Kompletný sprievodca odporúčanými miniatúrami a veľkosťami obrázkov vo WordPressTu je všetko, čo potrebujete vedieť o veľkostiach obrázkov v programe WordPress ao správe odporúčaných obrázkov. Čítaj viac na uchopenie a zobrazenie odporúčaného obrázka v archíve udalostí.

James má bakalárske štúdium v ​​oblasti umelej inteligencie a je držiteľom certifikátu CompTIA A + a Network +. Je popredným vývojárom MakeUseOf a trávi svoj voľný čas hraním VR paintballu a spoločenských hier. Staval počítače od malička.