PHP: Anggo WordPress API pikeun Ngawangun Shortcode pikeun Daptar Subpages

WordPress PHP

Kami nuju ngagarap palaksanaan anu rumit pikeun klien perusahaan ayeuna. Situs ieu diwangun dina WordPress tapi ngagaduhan ton bells sareng peluit. Seringna, nalika kuring ngalakukeun jenis padamelan ieu, kuring resep ngahemat kode khusus pikeun repurposing engké dina situs anu sanés. Dina hal ieu, kuring panginten éta fungsi anu saé pisan, abdi hoyong bagikeun ka dunya. Kami nganggo Téma Avada WordPress sareng Pembina Halaman Fusion salaku téma kolot, sareng nyebarkeun sakedik kode adat dina téma murangkalih urang.

WordPress parantos ngagaduhan sababaraha fungsi dina API na anu tiasa dianggo pikeun daptar subpages, sapertos wp_list_pages sareng get_pages. Masalahna nyaéta aranjeunna henteu balikkeun cekap inpormasi upami anjeun ngaharepkeun nyiptakeun daptar sareng sakumpulan inpormasi.

Pikeun palanggan ieu, aranjeunna hoyong ngirimkeun pedaran padamelan sareng ngagaduhan daptar lowongan padamelan sacara otomatis dihasilkeun dina urutan turun ku tanggal diterbitkeun na. Aranjeunna ogé badé ningalikeun kutipan halaman.

Janten, kahiji, urang kedah nambihan dukungan excerpt kana témplat halaman. Dina functions.php pikeun téma na, kami nambihan:

add_post_type_support ('halaman', 'excerpt');

Teras, urang kedah ngadaptar kode pondok khusus anu bakal ngahasilkeun daptar subpage, tautan ka aranjeunna, sareng kutipan pikeun aranjeunna. Laksanakeun ieu, urang kedah nganggo Citakan Loop WordPress. Dina functions.php, urang nambihan:

// List Subpages in a List function dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (susunan ('ifempty' => 'Teu aya Rékam', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'halaman', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ kolot = WP_Query anyar ($ args); upami ($ kolot-> gaduh_post ()) {$ string. = $ eusi. ' '; sedengkeun ($ kolot-> gaduh_post ()): $ kolot-> the_post (); $ string. = ' '.get_the_title ().' '; upami (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; samentawis; } sanésna {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); balikkeun $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Ayeuna, kode pondok tiasa diterapkeun di panjuru situs pikeun nunjukkeun halaman anak kalayan tautan sareng excerpt. Pamakéan:

[list_subpages aclass = "button" ifempty = "Hapunten, ayeuna urang teu ngagaduhan lowongan padamelan."] Daptar Padamelan [/ list_subpages]

Hasilna mangrupikeun daptar anu saé anu teu teratur tina padamelan anu diterbitkeun, anu mangrupikeun halaman murangkalih dina halaman karirna.

Upami teu aya padamelan anu diterbitkeun (teu aya halaman budak), éta bakal nyebarkeun:

Hapunten, ayeuna urang teu ngagaduhan lowongan padamelan.

Upami aya padamelan anu dipedalkeun (halaman murangkalih), éta bakal nyebarkeun:

Daptar Padamelan:

Naon anu anjeun pikirkeun?

Situs migunakeun Akismet pikeun ngurangan spam. Diajar kumaha komentar data anjeun diolah.