Content Marketing

PHP: Uporabite WordPress API za izdelavo kratke kode za seznam podstrani

Trenutno delamo na precej zapleteni izvedbi za odjemalca v podjetju. Spletno mesto je zgrajeno v WordPressu, vendar ima ogromno zvonov in piščal. Ko delam to vrsto dela, rad shranim kodo po meri za poznejšo preusmeritev na druga spletna mesta. V tem primeru sem mislil, da gre za tako uporabno funkcijo, hotel sem jo deliti s svetom. Uporabljamo Tema Avada WordPress z Fusion Page Builderjem kot nadrejeno temo in v našo podrejeno temo uvede kar nekaj kode po meri.

WordPress že ima v svojem API-ju nekaj funkcij, ki jih lahko uporabite za naštevanje podstrani, na primer wp_list_pages in get_pages. Težava je v tem, da ne vrnejo dovolj informacij, če upate, da boste dinamično ustvarili seznam s kopico informacij.

Za to stranko so želeli objaviti opise delovnih mest in omogočiti, da se seznam prostih delovnih mest samodejno generira v padajočem vrstnem redu do datuma njihove objave. Želeli so prikazati tudi odlomek strani.

Torej, najprej smo morali predlogi strani dodati izvleček. V funkcijo.php smo za njihovo temo dodali:

add_post_type_support ('stran', 'odlomek');

Nato smo morali registrirati kratko kodo po meri, ki bo ustvarila seznam podstrani, povezave do njih in izvleček zanje. Naredite to, mi moramo uporabiti WordPress zanka. V functions.php smo dodali:

// Seznam podstrani v funkciji seznama dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (matrika ('ifempty' => 'Ni zapisov', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'objavi_datum', 'order' => 'DESC' ,); $ nadrejeni = nov WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' '; medtem ko ($ nadrejeni-> imajo_poste ()): $ nadrejeni-> objavo (); $ string. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; navsezadnje; } sicer {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); vrni $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Zdaj lahko ožji kodek implementirate na celotnem spletnem mestu, da prikažete podrejene strani s povezavo in izvlečkom. Uporaba:

[list_subpages aclass = "button" ifempty = "Oprostite, trenutno nimamo nobenih prostih delovnih mest."] Seznam delovnih mest [/ list_subpages]

Rezultat je lep, neurejen seznam objavljenih delovnih mest, ki so podrejene strani pod njihovo kariero.

Če ne bi bilo objavljenih nobenih opravil (podrejenih strani), bo objavil:

Trenutno nimamo nobenih prostih delovnih mest.

Če so bila objavljena delovna mesta (podrejene strani), bo objavil:

Seznam delovnih mest:

Douglas Karr

Douglas Karr je CMO of Odpri INSIGHTS in ustanovitelj Martech Zone. Douglas je pomagal na desetine uspešnih startupov MarTech, pomagal je pri skrbnem pregledu več kot 5 milijard USD pri prevzemih in naložbah Martecha ter še naprej pomaga podjetjem pri izvajanju in avtomatizaciji njihovih prodajnih in trženjskih strategij. Douglas je mednarodno priznan strokovnjak in govorec za digitalno transformacijo in MarTech. Douglas je tudi objavljen avtor Dummie's guide in knjige o poslovnem vodenju.

Povezani članki

Nazaj na vrh
Zapri

Zaznan Adblock

Martech Zone vam lahko zagotovi to vsebino brezplačno, ker naše spletno mesto monetiziramo s prihodki od oglasov, pridruženimi povezavami in sponzorstvi. Hvaležni bi bili, če bi med ogledom našega spletnega mesta odstranili zaviralec oglasov.