PHP: Erabili WordPress APIa Azpiorrialdeak zerrendatzeko kode laburra eraikitzeko
Enpresa bezeroarentzako ezarpen konplexu samarra lantzen ari gara oraintxe bertan. Gunea WordPress-en eraikitzen ari da, baina kanpai ugari ditu. Askotan, mota honetako lanak egiten ari naizenean, kode pertsonalizatua gordetzea gustatzen zait gero beste gune batzuetan berriro erabiltzeko. Kasu honetan, hain funtzio erabilgarria zela pentsatu nuen, munduarekin partekatu nahi nuen. Erabiltzen ari gara Avada WordPress gaia Fusion Page Builder-ekin gai nagusi gisa, eta kode pertsonalizatu dezente hedatuz gure haurren gaian.
WordPress-ek jada baditu bere APIan funtzio pare bat, azpiorrialdeak zerrendatzeko erabil daitezkeenak, adibidez wp_list_pages eta get_pages. Arazoa da ez dutela informazio nahikoa itzultzen informazio mordo batekin zerrenda bat modu dinamikoan sortzea espero baduzu.
Bezero honentzat lanpostuen deskribapenak argitaratu nahi zituzten eta lanpostu irekien zerrenda automatikoki sortuko zuten argitaratzeko dataren arabera. Orriaren pasarte bat ere erakutsi nahi zuten.
Beraz, lehenik eta behin, zatiaren laguntza gehitu behar genion orrialdearen txantiloiari. Funtzioak.php-en beren gaiari dagokionez, gehitu dugu:
add_post_type_support ('orria', 'laburpena');
Orduan, kode labur pertsonalizatu bat erregistratu behar genuen, azpiorrialdeen zerrenda, haietarako estekak eta hauen laburpena sortuko zuena. Egin hau, erabili behar dugu WordPress Loop. Functions.php-en, gehitu dugu:
// Zerrendatu azpiorrialdeak zerrenda funtzio batean dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Erregistrorik ez', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'orria', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'argitaratu_data', 'order' => 'DESC' ,); $ guraso = WP_Query berria ($ args); if ($ guraso-> have_posts ()) {$ string. = $ content. ' '; while ($ guraso-> eduki_postuak ()): $ guraso-> mezu_a (); $ string. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_cerket (); } $ string. = ' '; azkenean; } bestela {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); $ katea itzuli; } add_shortcode ('list_subpages', 'dknm_list_child_pages');
Orain, kode laburra gune osoan ezar daiteke haurren orriak esteka eta pasarte batekin erakusteko. Erabilera:
[list_subpages aclass = "button" ifempty = "Barkatu, momentuz ez dugu lan eskaintzarik."] Lanpostuen zerrenda [/ list_subpages]
Emaitza argitaratutako lanen zerrenda polita eta garbia da, hau da, karrerako orrialdearen azpian dauden haurren orrialdeak.
Lanik argitaratuko ez balitz (seme-alabarik gabeko orrialdeak), argitaratuko ditu:
Barkatu, momentuz ez dugu lan eskaintzarik.
Lanak argitaratuta badaude (seme-alaben orrialdeak), argitaratuko ditu:
Lanpostuen zerrenda:
- Azken haurren orria - Haur orrialdeko pasartea
- Hurrengo orrialdea - Haur orrialdeko pasartea
- Hurrengo orrialdea - Haur orrialdeko pasartea