PHP. Օգտագործեք WordPress API- ն ՝ Ենթ էջերը թվարկելու համար կարճ կոդ կառուցելու համար
Մենք այժմ աշխատում ենք ձեռնարկության հաճախորդի բավականին բարդ իրականացման վրա: Կայքը կառուցվում է WordPress- ում, բայց ունի մի շարք զանգեր և սուլիչներ: Հաճախ, երբ այս տեսակի աշխատանք եմ կատարում, ես սիրում եմ պահպանել մաքսային ծածկագիրը հետագայում այլ կայքերում վերատեղադրելու համար: Այս պարագայում ես կարծում էի, որ դա այնքան օգտակար գործառույթ է, և ուզում էի այն կիսել աշխարհի հետ: Մենք օգտագործում ենք Avada WordPress թեման Fusion Page Builder- ի հետ որպես ծնողի թեմա և մեր մանկական թեմայում բավականին շատ անհատական ծածկագիր տեղադրելը:
WordPress- ն իր API- ում արդեն ունի մի քանի գործառույթ, որոնք կարող են օգտագործվել ցուցակելու ենթաէջերը, ինչպիսիք են wp_list_pages և get_pages: Խնդիրն այն է, որ նրանք բավարար քանակությամբ տեղեկատվություն չեն վերադարձնում, եթե դուք հույս ունեք դինամիկ կերպով ստեղծել ցանկ ՝ մի փունջ տեղեկատվությամբ:
Այս հաճախորդի համար նրանք ցանկանում էին տեղադրել աշխատանքների նկարագրությունները և ունենալ աշխատատեղերի ցուցակ, որոնք ավտոմատ կերպով գոյանում են նվազման կարգով `մինչև հրապարակման ամսաթիվը: Նրանք նաև ցանկանում էին ցուցադրել էջի մի հատված:
Այսպիսով, նախ մենք պետք է էջի ձևանմուշին ավելացնեինք քաղված աջակցություն: Functions.php- ում իրենց թեմայի համար մենք ավելացրեցինք.
add_post_type_support ('էջ', 'հատված');
Դրանից հետո մեզ անհրաժեշտ էր գրանցել հարմարեցված կարճ կոդ, որը կստեղծի ենթաէջերի ցուցակ, դրանց հղումներ և դրանց համար քաղվածք: Անել դա, մենք պետք է օգտագործենք այն WordPress հանգույց, Functions.php- ում մենք ավելացրեցինք.
// Listուցակի ենթաէջեր knանկի գործառույթում dknm_list_child_pages ($ atts, $ content = "") {գլոբալ $ post; $ atts = shortcode_atts (array ('ifempty' => 'Ոչ մի ձայնագրություն', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'էջ', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'հրապարակել_ամսաթիվը', 'կարգը' => 'DESC' ,); $ parent = նոր WP_Query ($ args); եթե ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ տող. = ' '.բարի_գիտակը ():' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; մինչդեռ } ուրիշ {$ string = ' '. $ atts [' ifempty '] ": '; } wp_reset_postdata (); վերադարձնել $ տողը; } add_shortcode ('list_subpages', 'dknm_list_child_pages');
Այժմ կարճ ծածկագիրը կարող է իրականացվել ամբողջ կայքում ՝ երեխաների էջերը հղումով և հատվածով ցուցադրելու համար: Օգտագործումը:
[list_subpages aclass = "կոճակ" ifempty = "Ներողություն, մենք ներկայումս աշխատատեղերի բացում չունենք"] Աշխատանքների ցուցակ [/ list_subpages]
Արդյունքը հրատարակված աշխատատեղերի գեղեցիկ, մաքուր և անպատվերով ցուցակն է, որոնք իրենց կարիերայի էջի տակ մանկական էջեր են:
Եթե չհրապարակված աշխատատեղեր չլինեին (մանկական էջեր չլինեին), այն կհրապարակի ՝
Ներողություն, մենք ներկայումս աշխատատեղերի բացում չունենք:
Եթե հրապարակված գործեր լինեին (մանկական էջեր), այն կհրապարակի.
Աշխատանքների ցուցակ.
- Վերջին մանկական էջ - Հատված Երեխայի էջից
- Հաջորդ մանկական էջ - Հատված Երեխայի էջից
- Հաջորդ մանկական էջ - Հատված Երեխայի էջից