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

WordPress PHP

Wy wurkje no op in heule komplekse ymplemintaasje foar in bedriuwsklient. De side wurdt boud yn WordPress, mar hat in ton bellen en fluitsjes. 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 werombringe as jo hoopje in list dynamysk te meitsjen mei in soad 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:

Wat tinksto?

Dizze side brûkt Akismet om spam te ferleegjen. Learje hoe't jo kommentaargegevens ferwurke wurde.