Turinio Rinkodara

PHP: naudokite „WordPress“ API, kad sukurtumėte trumpąjį kodą, kad pateiktumėte antrinius puslapius

Šiuo metu dirbame prie gana sudėtingo įmonės kliento diegimo. Svetainė yra kuriama „WordPress“, tačiau joje yra daugybė varpų ir švilpukų. Dažnai, kai atlieku tokio tipo darbus, man patinka išsaugoti pasirinktinį kodą, kad vėliau būtų galima juos naudoti kitose svetainėse. Šiuo atveju maniau, kad tai tokia naudinga funkcija, norėjau ja pasidalinti su pasauliu. Mes naudojame „Avada WordPress“ tema su „Fusion Page Builder“ kaip pagrindinę temą ir įdėdami nemažai pasirinktinio kodo į savo vaiko temą.

„WordPress“ savo API jau turi keletą funkcijų, kurias galima naudoti pateikiant antrinius puslapius, pvz., Wp_list_pages ir get_pages. Problema ta, kad jie negrąžina pakankamai informacijos, jei tikitės dinamiškai sukurti sąrašą su daugybe informacijos.

Šiam klientui jie norėjo paskelbti darbo aprašymus ir leisti, kad darbo vietų sąrašas būtų automatiškai sudaromas mažėjančia tvarka iki jų paskelbimo datos. Jie taip pat norėjo parodyti puslapio ištrauką.

Taigi, pirmiausia turėjome pridėti ištraukų palaikymą prie puslapio šablono. Jų temoje funkcijos.php pridėjome:

add_post_type_support ('puslapis', 'ištrauka');

Tada turėjome užregistruoti pasirinktinį trumpąjį kodą, kuris sugeneruotų antrinių puslapių sąrašą, nuorodas į juos ir jų ištrauką. Atlikite tai, mes turime naudoti "WordPress" Ciklas. Funkcijoje.php pridėjome:

// Sąrašo funkcijos Puslapiai sąrašas dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (masyvas ('ifempty' => 'No Records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = masyvas ('post_type' => 'puslapis', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ parent = new 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 (); } $ eilutė. = ' "; pabaigos; } dar {$ string = ' '. $ atts [' ifempty '].' "; } wp_reset_postdata (); grąžinti $ eilutę; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Dabar trumpąjį kodą galima įdiegti visoje svetainėje, kad būtų rodomi antriniai puslapiai su nuoroda ir ištrauka. Naudojimas:

[list_subpages aclass = "button" ifempty = "Atsiprašome, šiuo metu neturime darbo vietų."] Darbų sąrašas [/ list_subpages]

Rezultatas yra gražus, švarus nesutvarkytas paskelbtų darbų, kurie yra vaikų puslapiai po jų karjeros puslapiu, sąrašas.

Jei nebuvo paskelbta jokių darbo vietų (nebuvo vaikų puslapių), ji paskelbs:

Atsiprašome, šiuo metu neturime darbo vietų.

Jei buvo paskelbta darbo vietų (vaikų puslapiai), ji paskelbs:

Darbų sąrašas:

Douglas Karr

Douglas Karr yra BRO OpenINSIGHTS ir įkūrėjas Martech Zone. Douglas padėjo daugybei sėkmingų MarTech pradedančiųjų įmonių, padėjo atlikti daugiau nei 5 mlrd. Douglas yra tarptautiniu mastu pripažintas skaitmeninės transformacijos ir MarTech ekspertas bei pranešėjas. Douglasas taip pat yra paskelbtas Dummie vadovo ir verslo lyderystės knygos autorius.

Susiję straipsniai

Atgal į viršų mygtukas
arti

Aptiktas skelbimų blokas

Martech Zone gali pateikti jums šį turinį nemokamai, nes gauname pajamų iš savo svetainės per pajamas iš skelbimų, filialų nuorodas ir rėmimą. Būtume dėkingi, jei peržiūrėdami mūsų svetainę pašalintumėte skelbimų blokavimo priemonę.