PHP: Úsáid an WordPress API chun Shortcode a Thógáil chun Fo-leathanaigh a Liostú
Táimid ag obair ar chur i bhfeidhm casta go leor do chliant fiontar anois. Tá an suíomh á thógáil i WordPress ach tá tonna cloigíní agus feadóga ann. Go minic, nuair a bhíonn an cineál seo oibre á dhéanamh agam, is maith liom an cód saincheaptha a shábháil lena athchur níos déanaí ar shuímh eile. Sa chás seo, shíl mé gur feidhm úsáideach í seo, theastaigh uaim é a roinnt leis an domhan. Táimid ag úsáid an Téama Avada WordPress leis an Tógálaí Leathanach Comhleá mar théama tuismitheora, agus go leor cód saincheaptha á n-úsáid inár dtéama linbh.
Tá cúpla feidhm ag WordPress cheana féin ina API is féidir a úsáid chun fo-leathanaigh a liostáil, cosúil le wp_list_pages agus get_pages. Is í an fhadhb atá ann ná nach dtugann siad a ndóthain faisnéise ar ais má tá tú ag súil le liosta a chruthú go dinimiciúil le dornán faisnéise.
Maidir leis an gcustaiméir seo, theastaigh uathu tuairiscí poist a phostáil agus gintear liosta na n-oscailtí poist go huathoibríoch in ord íslitheach faoin dáta foilsithe. Theastaigh uathu freisin sliocht den leathanach a thaispeáint.
Mar sin, ar dtús, bhí orainn tacaíocht sleachta a chur le teimpléad an leathanaigh. In functions.php dá dtéama, chuireamar leis:
add_post_type_support ('leathanach', 'sliocht');
Ansin, b’éigean dúinn aicearra saincheaptha a chlárú a ghinfeadh liosta na bhfo-leathanaigh, naisc leo, agus an sliocht dóibh. Déan é seo, ní mór dúinn an Lúb WordPress. In functions.php, chuireamar leis:
// Liosta Fotheidil i bhfeidhm Liosta dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Gan Taifid', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'leathanach', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publ_date', 'order' => 'DESC' ,); $ tuismitheoir = WP_Query nua ($ args); más rud é ($ parent-> have_posts ()) {$ string. = $ ábhar. ' '; fad ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; más rud é (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; i ndeireadh na dála; } eile {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); filleadh $ string; } add_shortcode ('liosta_subpages', 'dknm_list_child_pages');
Anois, is féidir an aicearra a chur i bhfeidhm ar fud an láithreáin chun nasc agus sliocht a thaispeáint do leathanaigh an linbh. Úsáid:
[list_subpages aclass = "button" ifempty = "Tá brón orainn, níl aon oscailtí poist againn faoi láthair."] Liosta Poist [/ list_subpages]
Is é an toradh atá air seo liosta deas, glan neamhordáilte de na poist foilsithe, ar leathanaigh leanaí iad faoina leathanach gairme.
Murar foilsíodh aon phoist (gan aon leathanaigh do leanaí), foilseoidh sé:
Tá brón orainn, níl aon oscailtí poist againn faoi láthair.
Má foilsíodh poist (leathanaigh leanaí), foilseoidh sé:
Liosta Poist:
- Leathanach Leanaí is Déanaí - Sliocht as Leathanach an Linbh
- An Chéad Leathanach Leanaí Eile - Sliocht as Leathanach an Linbh
- An Chéad Leathanach Leanaí Eile - Sliocht as Leathanach an Linbh