Content Marketing

PHP: Použite WordPress API na zostavenie krátkeho kódu na výpis podstránok

Momentálne pracujeme na dosť komplexnej implementácii pre podnikového klienta. Táto stránka sa vytvára v prostredí WordPress, ale obsahuje množstvo zvonov a píšťaliek. Keď často robím tento typ práce, rád by som si uložil vlastný kód na neskoršie použitie na iných stránkach. V tomto prípade som si myslel, že je to taká užitočná funkcia, chcel som sa o ňu podeliť so svetom. Používame Téma Avada WordPress s nástrojom Fusion Page Builder ako nadradená téma a do našej podradenej témy nasadzujeme pomerne veľa vlastného kódu.

WordPress už má vo svojom rozhraní API niekoľko funkcií, ktoré je možné použiť na zoznam podstránok, ako napríklad wp_list_pages a get_pages. Problém je v tom, že nevrátia dostatok informácií, ak dúfate, že dynamicky vytvoríte zoznam s hromadou informácií.

Pre tohto zákazníka chceli zverejniť popis práce a nechať si automaticky generovať zoznam pracovných ponúk zostupne podľa dátumu zverejnenia. Chceli tiež zobraziť výňatok zo stránky.

Najprv sme teda museli do šablóny stránky pridať úryvkovú podporu. Do súboru functions.php pre ich tému sme pridali:

add_post_type_support ('page', 'excerpt');

Potom sme potrebovali zaregistrovať vlastný krátky kód, ktorý by vygeneroval zoznam podstránok, odkazy na ne a výňatok z nich. Urobte to, musíme použiť WordPress Loop. V functions.php sme pridali:

// Zoznam podstránok vo funkcii Zoznam dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Žiadne záznamy', '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 (); } $ retazec. = ' "; nakoniec; } else {$ string = ' ". $ atts ['ifempty']. ' "; } wp_reset_postdata (); vrátiť $ reťazec; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Teraz je možné krátky kód implementovať na celom webe a zobraziť tak podradené stránky s odkazom a výňatkom. Použitie:

[list_subpages aclass = "button" ifempty = "Je nám ľúto, momentálne nemáme žiadne voľné pracovné miesta."] Zoznam pracovných miest [/ list_subpages]

Výsledkom je pekný, čistý neusporiadaný zoznam zverejnených pracovných pozícií, ktoré sú podradenými stránkami pod ich kariérnou stránkou.

Ak neboli zverejnené žiadne úlohy (žiadne podradené stránky), zverejní sa:

Prepáčte, momentálne nemáme žiadne voľné pracovné miesta.

Ak boli zverejnené úlohy (podradené stránky), zverejní sa:

Zoznam pracovných pozícií:

Douglas Karr

Douglas Karr je CMO OpenINSIGHTS a zakladateľ spoločnosti Martech Zone. Douglas pomohol desiatkam úspešných startupov MarTech, asistoval pri due diligence v hodnote viac ako 5 miliárd dolárov v akvizíciách a investíciách Martech a naďalej pomáha spoločnostiam pri implementácii a automatizácii ich predajných a marketingových stratégií. Douglas je medzinárodne uznávaný odborník na digitálnu transformáciu a MarTech a rečník. Douglas je tiež publikovaným autorom príručky Dummie a knihy obchodného vedenia.

súvisiace články

Tlačidlo späť nahor
Zavrieť

Zistený blok reklám

Martech Zone vám tento obsah môže poskytnúť bezplatne, pretože naše stránky speňažujeme prostredníctvom príjmov z reklám, pridružených odkazov a sponzorstiev. Ocenili by sme, keby ste pri prezeraní našej stránky odstránili blokovanie reklám.