Sisu Marketing

PHP: Kasutage WordPressi API-d, et luua alamlehtede loendisse lühikood

Praegu töötame ettevõtte kliendi jaoks üsna keeruka rakenduse kallal. Saiti ehitatakse WordPressis, kuid sellel on palju kellasid ja vilesid. Sageli meeldib seda tüüpi tööd tehes salvestada kohandatud kood, et seda hiljem teistel saitidel uuesti kasutada. Sel juhul arvasin, et see on nii kasulik funktsioon, tahtsin seda maailmaga jagada. Me kasutame Avada WordPressi teema koos Fusion Page Builderiga vanematemaatikana ja juurutades meie lapseteemas üsna palju kohandatud koodi.

WordPressi API-s on juba paar funktsiooni, mida saab kasutada alamlehtede loendis, näiteks wp_list_pages ja get_pages. Probleem on selles, et nad ei tagasta piisavalt teavet, kui loodate dünaamiliselt luua loendi koos hulga teabega.

Selle kliendi jaoks soovisid nad postitada ametijuhendid ja lasta avatavate töökohtade loendi nende avaldamise kuupäevaks automaatselt kahanevas järjekorras luua. Nad tahtsid kuvada ka väljavõtte lehest.

Niisiis pidime kõigepealt lisama lehemallile väljavõtte toe. Nende teema funktsiooni.php lisasime:

add_post_type_support ('leht', 'väljavõte');

Seejärel pidime registreerima kohandatud lühikoodi, mis genereerib alamlehtede loendi, linke neile ja nende väljavõtte. Tehke seda, peame kasutama WordPress Loop. Funktsioonis.php lisasime:

// Funktsiooni Loend alamlehtede loendamine dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (massiiv ('ifempty' => 'No Records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'leht', '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 (); } $ string. = ' "; lõpupoole; } muu {$ string = ' '. $ atts [' ifempty '].' "; } wp_reset_postdata (); tagastage string string; } add_shortcode ('list_alamlehed', 'dknm_list_child_pages');

Nüüd saab lühikoodi rakendada kogu saidil, et näidata alamlehti koos lingi ja väljavõttega. Kasutamine:

[list_subpages aclass = "button" ifempty = "Vabandust, meil pole praegu ühtegi töökohta."] Töökohtade loetelu [/ list_subpages]

Tulemuseks on kena ja puhas tellimata loetelu avaldatud töökohtadest, mis on nende karjäärilehe all olevad lapslehed.

Kui ühtegi töökohta ei avaldatud (lapselehti pole), avaldab see:

Vabandust, meil pole praegu ühtegi töökohta.

Kui avaldati töid (lapslehed), avaldab see:

Tööde loetelu:

Douglas Karr

Douglas Karr on CMO of OpenINSIGHTS ja selle asutaja Martech Zone. Douglas on aidanud kümneid edukaid MarTechi idufirmasid, on aidanud Martechi omandamisel ja investeeringutel üle 5 miljardi dollari ulatuses läbi viia ning jätkab ettevõtete abistamist nende müügi- ja turundusstrateegiate rakendamisel ja automatiseerimisel. Douglas on rahvusvaheliselt tunnustatud digitaalse transformatsiooni ja MarTechi ekspert ja esineja. Douglas on ka Dummie juhendi ja ärijuhtimise raamatu autor.

seotud artiklid

Tagasi üles nupule
lähedal

Adblock tuvastatud

Martech Zone suudab teile seda sisu tasuta pakkuda, kuna teenime oma saidi rahaks reklaamitulu, sidusettevõtete linkide ja sponsorluse kaudu. Oleksime tänulikud, kui eemaldaksite meie saidi vaatamise ajal oma reklaamiblokeerija.