PHP: Истифодаи WordPress API барои сохтани коди кӯтоҳ барои рӯйхати зерсаҳифаҳо
Мо дар айни замон барои як муштарии корхона татбиқи хеле мураккабро кор карда истодаем. Ин сайт дар WordPress сохта шуда истодааст, аммо як тонна зангӯла ва ҳушттакҳо дорад. Аксар вақт, вақте ки ман ин намуди корро иҷро мекунам, ба ман маъқул аст, ки рамзи фармоиширо барои бозсозӣ дертар дар сайтҳои дигар сабт кунам. Дар ин ҳолат, ман фикр мекардам, ки ин як вазифаи муфид аст, ман мехостам онро бо ҷаҳон мубодила кунам. Мо аз Мавзӯи WordPress Avada бо Fusion Page Builder ҳамчун як мавзӯи волидайн ва ҷойгиркунии каме рамзи фармоишӣ дар мавзӯи фарзанди мо.
WordPress аллакай дар API-и худ якчанд функсияҳо дорад, ки метавонанд барои рӯйхати зерсаҳифаҳо, ба монанди wp_list_pages ва get_pages истифода шаванд. Масъала дар он аст, ки онҳо маълумоти кофӣ барнагардонанд, агар шумо умедворед, ки рӯйхати дорои як гурӯҳ иттилоотро босуръат эҷод кунед.
Барои ин муштарӣ, онҳо мехостанд, ки тавсифи ҷойҳои корро нашр кунанд ва рӯйхати кушодҳои ҷойҳои кориро ба таври худкор бо тартиби камшавӣ то санаи интишори онҳо тавлид кунанд. Онҳо инчунин мехостанд порчаи саҳифаро намоиш диҳанд.
Ҳамин тавр, аввал, мо бояд ба қолаби саҳифа дастгирии иқтибос илова кунем. Дар functions.php барои мавзӯи онҳо, мо илова кардем:
add_post_type_support ('саҳифа', 'иқтибос');
Сипас, ба мо лозим омад, ки як коди коди фармоиширо сабти ном кунем, ки рӯйхати зерсаҳифаҳо, пайвандҳо ба онҳо ва иқтибосро барои онҳо тавлид кунад. Инро иҷро кунед, мо бояд аз Давраи WordPress. Дар functions.php, мо илова кардем:
// Саҳифаҳои рӯйхат дар функсияи Рӯйхат dknm_list_child_pages ($ atts, $ content = "") {глобалии $ post; $ atts = shortcode_atts (array ('ifempty' => 'Ягон сабт нест', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'published_date', 'order' => 'DESC' ,); $ parent = WP_Query нав ($ args); агар ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; тамомшаванда; } дигаре {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); баргаштан $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');
Ҳоло, коди кӯтоҳро дар тамоми сайт амалӣ кардан мумкин аст, то саҳифаҳои кӯдакро бо истинод ва иқтибос нишон диҳед. Истифода:
[list_subpages aclass = "button" ifempty = "Бубахшед, мо ҳоло ягон ҷои кушод надорем."] Рӯйхати ҷойҳои корӣ [/ list_subpages]
Натиҷа рӯйхати хуби тоза ва беназири ҷойҳои кории нашршуда мебошад, ки саҳифаҳои кӯдакон дар сафҳаи касбашон мебошанд.
Агар ҷойҳои корӣ нашр намешуданд (саҳифаҳои кӯдакона надоштанд), он нашр хоҳад кард:
Бубахшед, дар ҳоли ҳозир мо ягон ҷои корӣ надорем.
Агар ҷойҳои корӣ нашр шуда бошанд (саҳифаҳои кӯдакон), он нашр хоҳад кард:
Рӯйхати ҷойҳои корӣ:
- Охирин сафҳаи кӯдакон - Иқтибос аз саҳифаи кӯдакон
- Саҳифаи навбатии кӯдакон - Иқтибос аз саҳифаи кӯдакон
- Саҳифаи навбатии кӯдакон - Иқтибос аз саҳифаи кӯдакон