Content Marketing

PHP: Použijte WordPress API k vytvoření zkráceného kódu pro zobrazení podstránek

Právě pracujeme na poměrně komplexní implementaci pro podnikového klienta. Web se staví na WordPressu, ale má spoustu zvonků a píšťal. Často, když dělám tento typ práce, rád si uložím vlastní kód pro pozdější použití na jiných webech. V tomto případě jsem si myslel, že je to tak užitečná funkce, chtěl jsem ji sdílet se světem. Používáme Téma Avada WordPress s nástrojem Fusion Page Builder jako nadřazené téma a nasazení docela dost vlastního kódu v našem podřízeném tématu.

WordPress již ve svém API obsahuje několik funkcí, které lze použít k výpisu podstránek, například wp_list_pages a get_pages. Problém je v tom, že nevracejí dostatek informací, pokud doufáte, že dynamicky vytvoříte seznam s hromadou informací.

U tohoto zákazníka chtěli zveřejnit popisy úkolů a nechat si automaticky generovat seznam volných pracovních míst v sestupném pořadí podle data jejich zveřejnění. Chtěli také zobrazit výňatek ze stránky.

Nejprve jsme tedy museli do šablony stránky přidat výňatkovou podporu. V souboru functions.php pro jejich téma jsme přidali:

add_post_type_support ('page', 'excerpt');

Poté jsme potřebovali zaregistrovat vlastní krátký kód, který by generoval seznam podstránek, odkazy na ně a výňatek z nich. Udělejte to, musíme použít Smyčka WordPress. V functions.php jsme přidali:

// Seznam podstránek ve funkci Seznam dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'No Records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ;); $ parent = nový WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' „.get_the_title ().“ '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; nakonec; } else {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); vrátit $ řetězec; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Nyní lze krátký kód implementovat na celém webu a zobrazit tak podřízené stránky s odkazem a výňatkem. Používání:

[list_subpages aclass = "button" ifempty = "Omlouváme se, ale momentálně nemáme žádná volná místa."] Seznam úloh [/ list_subpages]

Výsledkem je pěkný, čistý neuspořádaný seznam publikovaných úloh, což jsou podřízené stránky pod jejich kariérní stránkou.

Pokud nebyly publikovány žádné úlohy (žádné podřízené stránky), bude publikovat:

Litujeme, v současné době nemáme žádné pracovní pozice.

Pokud byly publikovány úlohy (podřízené stránky), bude publikovat:

Seznam pracovních míst:

Douglas Karr

Douglas Karr je CMO OpenINSIGHTS a zakladatelem Martech Zone. Douglas pomohl desítkám úspěšných MarTech startupů, pomohl s due diligence v hodnotě více než 5 miliard dolarů v akvizicích a investicích Martech a nadále pomáhá společnostem při implementaci a automatizaci jejich prodejních a marketingových strategií. Douglas je mezinárodně uznávaný odborník na digitální transformaci a MarTech a řečník. Douglas je také publikovaným autorem průvodce pro figuríny a knihy o obchodním vedení.

Související články

Tlačítko Nahoru
zavřít

Byl detekován Adblock

Martech Zone je schopna vám poskytnout tento obsah zdarma, protože naše stránky zpeněžujeme prostřednictvím příjmů z reklam, přidružených odkazů a sponzorství. Ocenili bychom, kdybyste při prohlížení našich stránek odstranili svůj blokovač reklam.