PHP: Gamita ang WordPress API aron Makahimo usa ka Shortcode sa Lista sa Mga Subpage

PHP nga WordPress

Nagtrabaho kami sa usa ka komplikado nga pagpatuman alang sa usa ka kliyente sa negosyo karon. Ang site gitukod sa WordPress apan adunay usa ka tonelada nga mga kampanilya ug sipol. Kanunay, kung naghimo ako niining lahi nga trabaho, gusto nakong i-save ang custom code alang sa repurposing sa ulahi sa ubang mga site. Sa kini nga kaso, gihunahuna nako nga kini usa ka mapuslanon nga gimbuhaton, gusto nako kini ipaambit sa kalibutan. Gigamit namon ang Ang tema sa Avada WordPress kauban ang Fusion Page Builder ingon usa ka tema sa ginikanan, ug pag-apud-apod sa us aka gamay nga batasan nga kodigo sa tema sa among anak.

Ang WordPress adunay na usa ka pag-andar sa API niini nga mahimong magamit sa paglista sa mga subpage, sama sa wp_list_pages ug get_pages. Ang problema mao nga dili nila igabalik ang igo nga kasayuran kung naglaum ka nga madasigon nga makahimo og usa ka lista nga adunay daghang kasayuran.

Alang sa kini nga kostumer, gusto nila nga mag-post sa mga paghubit sa trabaho ug adunay lista sa mga pag-abli sa trabaho nga awtomatiko nga mamugna sa pagkanaug sa pagkahan-ay sa ilang petsa sa pagmantala. Gusto usab nila ipakita ang usa ka bahin sa panid.

Mao nga, una, kinahanglan namon nga idugang ang suporta sa kinutlo sa template sa panid. Sa functions.php alang sa ilang tema, among gidugang:

add_post_type_support ('panid', 'kinutlo');

Pagkahuman, kinahanglan namon nga magparehistro sa us aka kostumbre nga shortcode nga makahimo sa lista sa mga subpage, link sa kanila, ug ang kinutlo alang kanila. Buhata kini, kinahanglan naton gamiton ang Loop sa WordPress. Sa functions.php, nagdugang kami:

// List Subpages in a List function dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'No Records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'panid', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ ginikanan = bag-ong WP_Query ($ args); kung ($ ginikanan-> adunay_post ()) {$ string. = $ sulud. ' '; samtang ($ ginikanan-> adunay_post ()): $ ginikanan-> the_post (); $ string. = ' '.get_the_title ().' '; kung (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; sa katapusan; } sa uban pa {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); ibalik ang $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Karon, ang shortcode mahimong ipatuman sa tibuuk nga site aron ipakita ang mga panid sa bata nga adunay usa ka link ug kinutlo. Paggamit:

[list_subpages aclass = "button" ifempty = "Pasensya, karon wala kami bisan unsang mga pag-abli sa trabaho."] Lista sa Mga Trabaho [/ list_subpages]

Ang sangputanan usa ka maayo, limpyo nga wala han-ay nga lista sa mga gi-publish nga trabaho, nga mga panid sa bata sa ilalum sa panid sa ilang karera.

Kung wala’y mga trabaho nga napatik (wala’y mga panid sa bata), mapatik niini:

Pasensya, karon wala kami bisan unsang mga pag-abli sa trabaho.

Kung adunay mga trabaho nga napatik (mga panid sa bata), mapatik niini:

Lista sa Mga Trabaho:

Unsay imong hunahuna?

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.