PHP: Anggo WordPress API pikeun Ngawangun Shortcode pikeun Daptar Subpages
Kami nuju ngusahakeun palaksanaan anu cukup rumit pikeun klien perusahaan ayeuna. Situs ieu diwangun dina WordPress tapi gaduh ton lonceng sareng whistles. Seringna, nalika kuring ngalakukeun jinis padamelan ieu, kuring resep nyimpen kodeu khusus pikeun dianggo deui engké dina situs sanés. Dina hal ieu, kuring panginten éta fungsi anu mangpaat, kuring hoyong bagikeun ka dunya. Kami nganggo Téma Avada WordPress sareng Fusion Page Builder salaku tema indungna, sarta deploying rada saeutik kode custom dina tema anak urang.
WordPress parantos ngagaduhan sababaraha fungsi dina API na anu tiasa dianggo pikeun daptar subkaca, sapertos wp_list_pages sareng get_pages. Masalahna nyaeta aranjeunna teu balik informasi cukup lamun nuju hoping dinamis nyieun daptar kalawan kebat informasi.
Pikeun palanggan ieu, aranjeunna hoyong masangkeun déskripsi padamelan sareng gaduh daptar lowongan padamelan sacara otomatis dibangkitkeun dina urutan turun dumasar tanggal terbitna. Éta ogé hayang nembongkeun excerpt kaca.
Janten, kahiji, urang kedah nambihan dukungan kutipan kana template halaman. Dina functions.php pikeun téma maranéhanana, kami ditambahkeun:
add_post_type_support( 'halaman', 'excerpt');
Lajeng, urang diperlukeun pikeun ngadaptar a shortcode custom nu bakal ngahasilkeun daptar subpages, Tumbu ka aranjeunna, sarta excerpt pikeun aranjeunna. Ngalakukeun ieu, urang kedah nganggo Loop WordPress. Dina functions.php, kami nambihan:
// Daptar Subpages dina fungsi Daptar dknm_list_child_pages ($ atts, $ eusi = "") { global $ pos; $atts = shortcode_atts(Asép Sunandar Sunarya ( 'ifempty' => 'Euweuh Rékam', 'aclass' => ''), $atts, 'list_subpages'); $args = array( 'post_type' => 'kaca', 'posts_per_page' => -1, 'post_parent' => $post->ID, 'orderby' => 'publish_date', 'order' => 'DESC' , ); $indungna = WP_Query anyar ($ args); lamun ($ kolot-> boga_posts () ) { $ string . = $ eusi.' '; bari ($ kolot-> boga_posts ()): $ kolot-> nu_posting (); $string .= ' '.get_the_title().' '; lamun (has_excerpt ($ pos-> ID) ) {$ string. = '- '.get_the_excerpt (); } $string .= ' '; antukna; } lain {$string = ' '.$atts['ifempty'].' '; } wp_reset_postdata (); balikkeun $ string; } add_shortcode ( 'list_subpages', 'dknm_list_child_pages');
Ayeuna, shortcode nu bisa dilaksanakeun sapanjang loka pikeun nembongkeun kaca anak kalawan tumbu sarta excerpt. Pamakéan:
[list_subpages aclass="button" ifempty="Hapunten, ayeuna urang teu gaduh lowongan padamelan."] Daptar Proyék [/list_subpages]
hasilna mangrupakeun nice, daptar unordered bersih tina jobs diterbitkeun, nu kaca anak handapeun kaca karir maranéhna.
Upami teu aya padamelan anu diterbitkeun (henteu aya halaman budak), éta bakal nyebarkeun:
Punten, ayeuna urang teu gaduh lowongan padamelan.
Upami aya padamelan anu diterbitkeun (halaman anak), éta bakal nyebarkeun:
Daptar padamelan:
- Panganyarna Child Page - Kutipan tina Halaman Anak
- Kaca Barudak salajengna - Kutipan tina Halaman Anak
- Kaca Barudak salajengna - Kutipan tina Halaman Anak