Jak si vytvořit svůj vlastní seznam událostí pomocí vlastních typů příspěvků ve WordPressu

  • Michael Cain
  • 0
  • 912
  • 69
reklama

Jednou z výhod používání WordPress je jeho naprostá flexibilita. Nejde jen o příspěvky a stránky: vlastní typy příspěvků mohou rozšířit základní funkce prakticky na cokoli.

Podívejme se dnes, co byste mohli udělat s vlastními typy příspěvků, a také s praktickým příkladem, jak vytvořit výpis událostí pomocí vlastního typu příspěvku s názvem událost.

Poznámka: Tento tutoriál by měl být považován pouze za vzdělávací účely, abyste se mohli naučit kód používaný k vytváření vlastních typů příspěvků. Pokud skutečně chcete pro svůj web WordPress skvělý plugin pro seznam událostí, zkuste Kalendář událostí, který je dobře vyvinutý a zdarma.

Jaké jsou vlastní typy příspěvků ve WordPress?

Web WordPress se obvykle skládá ze dvou typů obsahu: datované příspěvky blogu a statické stránky. Většina z nás, kteří si vytvořili blog WordPress Nastavte si blog pomocí WordPress: The Ultimate Guide Nastavte si svůj blog pomocí WordPress: The Ultimate Guide Chcete si založit svůj vlastní blog, ale nevíte jak? Podívejte se na WordPress, nejvýkonnější platformu pro blogování, která je dnes k dispozici. jsou obeznámeni s tím, že stránky by se měly používat pro podobné účely “O mně” nebo “Kontaktní informace”, zatímco normální příspěvky jdou na váš blog.

Ale kromě toho, co když chcete přidat další zvláštní druh obsahu, který se opravdu nehodí do chronologického pořadí blogu a rozhodně není statický? Zde přicházejí vlastní typy příspěvků.

Poměrně častým požadavkem na klubové nebo skupinové stránky je mít kalendář akcí. Jedním z řešení, které lze použít, je vytvoření samostatné kategorie příspěvků pro události. Problém s tím je, že budou zobrazeny v hlavní časové ose blogu, a my bychom tyto dva pojmy měli zcela oddělit.

Za tímto účelem vytvořme nový typ příspěvku s názvem událost, který bude mít svou vlastní samostatnou část rozhraní správce.

Jak vytvořit vlastní typ příspěvku v WordPress

Uděláme to přímou úpravou vašich tematických souborů. Stejného efektu byste mohli dosáhnout pomocí pluginu, ale pro demonstraci koncepce a praxe je jednodušší napsat je přímo. Pokud se vám to nelíbí, zvažte použití pluginu Moje vlastní funkce, který vám umožňuje nedestruktivně přidávat kód.

Moje vlastní funkce

Otevřete téma function.php soubor uložený ve složce motivu uvnitř obsah wp / témata; nebo použijte plugin Moje vlastní funkce, který najdete na adrese Nastavení > PHP Inserter. Na konec souboru přidejte 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, 'přepsat' => array ("slug" => "events"), 'podporuje' => array ('miniatura', 'editor', 'title', 'custom-fields')) ; register_post_type ('events', $ args); 

Nezapomeňte to provést před závěrečným php (?>), pokud je ve vaší function.php soubor.

Chvíli si přečtěte kód. Vyhlašuje některé vlastnosti (jako jsou popisky rozhraní) a způsob, jakým by se mělo nakládat s adresami URL (přepisy) a jaké funkce tento post-type podporuje. Můžete například přidat vlastní pole do svého vlastního typu příspěvku pomocí vlastnosti support.

V tomto případě jsme prohlásili náš typ události za podporu miniatur, editoru obsahu pro popis události, názvu události a vlastních polí. Také jsme přidali má_archiv, takže přechod na stránku událostí vyvolá archiv všech událostí, podobný blogu.

To je ono, pokud nyní uložíte motiv a znovu načtete svůj blog, za předpokladu, že nemáte žádné chyby, měli byste nyní vidět novou sekci událostí na postranním panelu administrátora. Yay!

Přidejte nyní některé ukázkové události.

Poté, co se jedná o událost, vytvořte vlastní pole s názvem datum k označení, kdy k události dojde. Použití mm / dd / rrrr formát.

Uvědomte si, že musíme použít vlastní pole k určení skutečného data události, nikoli k datu příspěvku, protože datum příspěvku představuje datum zveřejnění oznámení. Protože byste pravděpodobně přidávali události, které se stanou v budoucnu, nastavení data publikování na skutečné datum události by bylo zbytečné.

Pokud se pokusíte událost zobrazit v tomto okamžiku, můžete obdržet chybu 404. Důvodem je, že WordPress musí znovu vygenerovat strukturu adres Permalink URL, aby bylo možné účtovat tento nový typ příspěvku. Vydejte se na Nastavení> Trvalé odkazy stránku a znovu stiskněte tlačítko Uložit.

Nyní byste měli mít možnost zobrazit příspěvek jednotlivých událostí. První část adresy URL za názvem vaší domény je /Události/. Vybrali jsme si to v tomto řádku kódu:

'přepsat' => pole ("slug" => "události"),

Přizpůsobte stránku se seznamem událostí

Nyní, když máte ve svém blogu všechny tyto fantastické události, bylo by hezké je je někde uvést. Za tímto účelem vytvoříme speciální šablonu stránky, takže ji můžete přidat k běžným položkám nabídky vedle položky O aplikaci nebo Kontakt.

Protože jsme již uvedli, že typ příspěvku události by měl mít archiv, můžete se podívat na výchozí nastavení návštěvou /Události/. Na standardním tématu Dvacet sedmnáct na mém testovacím webu jsem získal toto:

Přizpůsobení tohoto výstupu bude záviset na tom, jaké téma používáte, a pokrytí celého systému šablon WordPress je mimo rozsah tohoto článku. Kvůli tomuto tutoriálu však předpokládám, že používáte dvacet sedmnáct.

Začněte vytvořením kopie archive.php, a přejmenovat na archive-events.php. Toto je standardní pojmenování, což znamená, že WordPress automaticky použije tuto šablonu k zobrazení archivu pro typ příspěvku událostí.

Po prozkoumání souboru poskytlo dvacet sedmnáct autorů mechanismus postformátu, který je pro naše potřeby příliš složitý:

/ * * Zahrňte do obsahu šablonu specifickou pro postformát. * Pokud to chcete v podřízeném motivu potlačit, přidejte soubor * nazvaný content -___. Php (kde ___ je Post Post name), který bude místo toho použit. * / get_template_part ('template-parts / post / content', get_post_format ()); 

Poznámka: Doporučuje se podřízený motiv, protože jakékoli aktualizace původního motivu změní vaše změny. Tento článek podpory WordPress popisuje proces vytváření podřízeného motivu pro dvacet sedmnáct. Pro stručnost se chystám pracovat na původním tématu a nestarám se o to, jestli se moje práce při pozdější aktualizaci ztratí.

Vyjměte celý blok a vložte jej do následujícího. Toto je pouze zjednodušená kopie toho, co je v těchto šablonách post formátů, kvůli učení:

  ','');?>            

Pokud stránku Události uložíte a znovu zobrazíte, zjistíte, že nyní má data. Ale mýlí se. Momentálně zobrazují datum zveřejnění místo data události. Jako poslední krok změníme skutečné datum, kdy se událost bude konat. Najděte bit, který generuje čas, two_seventeen_time_link (), a nahraďte jej následujícím:

datum ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'date', true))))

Toto je získávání data z pole post meta, které jsme nastavili, pak pomocí PHP datum() funkci naformátovat na něco čitelnější.

Další kroky?

Pokud nejste spokojeni se svým současným webovým hostitelem, důrazně doporučujeme použít spravovaného hostitele WordPress, jako je WP Engine, který sami používáme pro naše sesterské weby. Jinak nabízí InMotion Hosting dostupné plány, které jsou ještě levnější s naší speciální slevou, když použijete tento odkaz.

Poté si uvědomte, že když jsme vytvořili typ příspěvku události, již jsme kódovali podporu pro doporučené miniatury. Použijte našeho průvodce k doporučeným obrázkům a zveřejnění miniatur. Kompletní průvodce doporučenými miniaturami a velikostmi obrázků v WordPress Kompletní průvodce doporučenými miniaturami a velikostmi obrázků v WordPress Zde je vše, co potřebujete vědět o velikostech obrázků v WordPressu a správě doporučených obrázků. chytit a zobrazit doporučený obrázek v archivu výpisu událostí.




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.