PHP: Cleachd an WordPress API gus Shortcode a thogail gus liostaichean a liostadh

WordPress PHP

Tha sinn ag obair air buileachadh gu math toinnte airson neach-dèiligidh iomairt an-dràsta. Tha an làrach ga thogail ann am WordPress ach tha tunna de chluig agus luideagan ann. Gu tric, nuair a bhios mi a ’dèanamh an seòrsa obair seo, is toil leam an còd àbhaisteach a shàbhaladh airson ath-chuir air adhart nas fhaide air adhart air làraich eile. Anns a ’chùis seo, bha mi den bheachd gu robh e na ghnìomh cho feumail, bha mi airson a roinn leis an t-saoghal. Tha sinn a ’cleachdadh an Cuspair Avada WordPress leis an Fusion Page Builder mar chuspair pàrant, agus a ’cleachdadh tòrr de chòd àbhaisteach anns a’ chuspair cloinne againn.

Tha gnìomh no dhà aig WordPress mu thràth anns an API aige a dh'fhaodar a chleachdadh gus fo-dhuilleagan a liostadh, leithid wp_list_pages agus get_pages. Is e an duilgheadas a th ’ann nach till iad fiosrachadh gu leòr ma tha thu an dòchas liosta a chruthachadh gu dinamach le dòrlach fiosrachaidh.

Airson an neach-ceannach seo, bha iad airson tuairisgeulan obrach a phostadh agus tha an liosta de fhosglaidhean obrach air an toirt gu fèin-ghluasadach ann an òrdugh teàrnaidh ron cheann-latha foillseachaidh aca. Bha iad cuideachd airson pìos den duilleag a thaisbeanadh.

Mar sin, an toiseach, bha againn ri taic earrann a chuir ri teamplaid na duilleige. Ann an functions.php airson an cuspair aca, chuir sinn ris:

add_post_type_support ('duilleag', 'earrann');

An uairsin, dh ’fheumadh sinn shortcode àbhaisteach a chlàradh a ghineadh an liosta de fo-dhuilleagan, ceanglaichean riutha, agus an earrann dhaibh. Dèan seo, feumaidh sinn an Lùb WordPress. Ann an functions.php, chuir sinn ris:

// Liosta fo-dhuilleagan ann an gnìomh Liosta dknm_list_child_pages ($ atts, $ content = "") {cruinne $ post; $ atts = shortcode_atts (array ('ifempty' => 'Gun chlàran', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'duilleag', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'foillseachadh_date', 'order' => 'DESC' ,); $ pàrant = WP_Query ùr ($ args); ma tha ($ parent-> have_posts ()) {$ string. = $ susbaint. ' '; fhad 'sa ($ parent-> have_posts ()): $ pàrant-> the_post (); $ string. = ' '.get_the_title ().' '; ma tha (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ sreang. = ' '; aig a ’cheann thall; } eile {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); till $ sreang; } add_shortcode ('liosta_subpages', 'dknm_list_child_pages');

A-nis, faodar an shortcode a chuir an gnìomh air feadh na làraich gus na duilleagan cloinne a shealltainn le ceangal agus earrann. Cleachdadh:

[list_subpages aclass = "button" ifempty = "Duilich, chan eil fosgladh obrach sam bith againn an-dràsta."] Liosta obraichean [/ list_subpages]

Is e an toradh liosta snog, glan gun òrdugh de na h-obraichean foillsichte, a tha nan duilleagan cloinne fon duilleag dreuchd aca.

Mura biodh obraichean air am foillseachadh (cha robh duilleagan cloinne ann), foillsichidh e:

Duilich, chan eil fosgladh obrach againn an-dràsta.

Nam biodh obraichean air am foillseachadh (duilleagan cloinne), foillsichidh e:

Liosta obraichean:

Dè do bheachd?

Tha an làrach seo a 'cleachdadh Akismet gus spama a lùghdachadh. Ionnsaich mar a thathar a 'pròiseasadh an dàta bheachdan agad.