ynhâld Marketing

PHP: Brûk de WordPress API om in koarte koade te bouwen om subpagina's te listjen

Wy wurkje no oan in frijwat komplekse ymplemintaasje foar in bedriuwsklient. De side wurdt boud yn WordPress, mar hat in soad toeters en bellen. Faak, as ik dit soarte wurken doch, wol ik de oanpaste koade bewarje om letter opnij te brûken op oare siden. Yn dit gefal tocht ik dat it sa'n nuttige funksje wie, ik woe it diele mei de wrâld. Wy brûke de Avada WordPress-tema mei de Fusion Page Builder as in âlder tema, en it ynsetten fan in soad oanpaste koade yn ús bern tema.

WordPress hat al in pear funksjes yn syn API dy't kinne wurde brûkt om subpagina's te listjen, lykas wp_list_pages en get_pages. It probleem is dat se net genôch ynformaasje weromjaan as jo hoopje in list dynamysk te meitsjen mei in bosk ynformaasje.

Foar dizze klant woenen se taakbeskriuwings pleatse en hawwe de list mei posysjes automatysk oanmakke yn delgeande folchoarder op har publiseardatum. Se woene ek in fragmint fan 'e pagina werjaan.

Dat, earst, moasten wy stipe foar fragminten tafoegje oan 'e paginasjabloan. Yn funksjes.php foar har tema hawwe wy tafoege:

add_post_type_support ('pagina', 'fragmint');

Dan moasten wy in oanpaste koarte koade registrearje dy't de list mei subpagina's, keppelings nei har, en it fragmint foar har soe generearje. Doch dit, wy moatte de WordPress loop, Yn funksjes.php hawwe wy tafoege:

// List subpagina's yn in listfunksje dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Gjin records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'pagina', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ âlder = nij WP_Query ($ args); as ($ parent-> have_posts ()) {$ string. = $ ynhâld. ' '; wylst ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; as (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; endwhile; } oars {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); werom $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

No kin de koarte koade op 'e side wurde ymplementeare om de bernepagina's te sjen mei in keppeling en fragmint. Brûk:

[list_subpages aclass = "knop" ifempty = "Sorry, wy hawwe op it stuit gjin vacatures."] List fan banen [/ list_subpages]

It resultaat is in moaie, skjinne net oardere list fan 'e publisearre banen, dy't bernepagina's binne ûnder har karriêreside.

As d'r gjin banen waarden publisearre (gjin bernepagina's), sil it publisearje:

Sorry, wy hawwe op it stuit gjin vacatures.

As d'r banen waarden publisearre (bernepagina's), sil it publisearje:

List fan banen:

Douglas Karr

Douglas Karr is CMO fan OpenINSIGHTS en de oprjochter fan de Martech Zone. Douglas hat holpen tsientallen suksesfolle MarTech startups, hat holpen yn 'e due diligence fan mear as $ 5 miljard yn Martech oanwinsten en ynvestearrings, en bliuwt te helpen bedriuwen by it útfieren en automatisearjen fan harren ferkeap en marketing strategyen. Douglas is in ynternasjonaal erkend digitale transformaasje en MarTech-ekspert en sprekker. Douglas is ek in publisearre skriuwer fan in Dummie's gids en in boek foar bedriuwsliederskip.

Related Articles

Werom nei topknop
Slute

Adblock ûntdutsen

Martech Zone is yn steat om jo dizze ynhâld sûnder kosten te leverjen, om't wy ús side monetearje fia advertinsje-ynkomsten, affiliate keppelings en sponsoring. Wy soene it wurdearje as jo jo advertinsjeblokkerer fuortsmite as jo ús side besjen.