Kontenta Merkatumado

PHP: Uzu la WordPress-API por Konstrui Mallongan Kodon por Listigi Subpaĝojn

Ni laboras pri sufiĉe komplika efektivigo por entreprena kliento nun. La retejo estas enkonstruita en WordPress sed havas multe da sonoriloj kaj fajfiloj. Ofte, kiam mi faras tiaspecan laboron, mi ŝatas konservi la kutiman kodon por reaperigi poste sur aliaj retejoj. Ĉi-kaze mi pensis, ke ĝi estas tiel utila funkcio, ke mi volis dividi ĝin kun la mondo. Ni uzas la Avada WordPress-temo kun Fusion Page Builder kiel gepatra temo, kaj deplojante sufiĉe da kutima kodo en nia infana temo.

WordPress jam havas kelkajn funkciojn en sia API, uzeblajn por listigi subpaĝojn, kiel wp_list_pages kaj get_pages. La problemo estas, ke ili ne redonas sufiĉe da informoj, se vi esperas krei dinamike liston kun amaso da informoj.

Por ĉi tiu kliento, ili volis afiŝi laborpriskribojn kaj la liston de laborpostenoj aŭtomate generiĝas laŭ descenda sinsekvo laŭ sia eldona dato. Ili ankaŭ volis montri eltiraĵon de la paĝo.

Do, unue, ni devis aldoni eltiraĵan subtenon al la paĝa ŝablono. En functions.php por ilia temo, ni aldonis:

add_post_type_support ('paĝo', 'ekstrakto');

Tiam ni bezonis registri laŭmendan mallongan kodon, kiu generus la liston de subpaĝoj, ligojn al ili kaj la eltiraĵon por ili. Faru tion, ni devas uzi la WordPress-Buklo. En functions.php, ni aldonis:

// Listigi Subpaĝojn en Listfunkcio dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Neniuj Rekordoj', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'paĝo', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'eldoni_daton', 'order' => 'DESC' ,); $ patro = nova WP_Demando ($ args); if ($ patro-> havas_postojn ()) {$ ĉeno. = $ enhavo. ' '; while ($ patro-> havas_postojn ()): $ patro-> la_poŝto (); $ ĉeno. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; dume; } else {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); redonu $ ĉenon; } aldoni_mallongan kodon ('listo_subpaĝoj', 'dknm_list_child_pages');

Nun la mallonga kodo povas esti efektivigita tra la retejo por montri la infanajn paĝojn kun ligo kaj ekstrakto. Uzado:

[list_subpages aclass = "butono" ifempty = "Pardonu, ni nuntempe ne havas laborpostenojn."] Listo de Laborpostenoj [/ list_subpages]

La rezulto estas bela, pura neordigita listo de la publikigitaj laborpostenoj, kiuj estas infanaj paĝoj sub sia kariera paĝo.

Se ne estis publikigitaj laborpostenoj (neniuj infanaj paĝoj), ĝi publikigos:

Pardonu, ni nuntempe ne havas laborpostenojn.

Se estis publikigitaj laborpostenoj (infanaj paĝoj), ĝi publikigos:

Listo de Laborpostenoj:

Douglas Karr

Douglas Karr estas CMO de OpenINSIGHTS kaj la fondinto de la Martech Zone. Douglas helpis dekduojn da sukcesaj MarTech-noventreprenoj, helpis en la konvena diligento de pli ol $ 5 miliardoj en Martech-akiroj kaj investoj, kaj daŭre helpas firmaojn en efektivigado kaj aŭtomatigo de siaj vendaj kaj merkatigstrategioj. Douglas estas internacie agnoskita cifereca transformo kaj MarTech-eksperto kaj parolanto. Douglas ankaŭ estas publikigita verkinto de la gvidisto de Dummie kaj komerca gvidadlibro.

rilataj Artikoloj

Reen al la supra butono
Fermi

Adbloko Detektita

Martech Zone kapablas provizi al vi ĉi tiun enhavon senkoste ĉar ni monetigas nian retejon per reklamaj enspezoj, filiaj ligiloj kaj sponsorado. Ni dankus se vi forigus vian reklamblokilon dum vi rigardas nian retejon.