PHP: Дэд хуудсуудыг жагсаахад богино кодыг бүтээхдээ WordPress API ашиглана уу

WordPress PHP

Бид яг одоо аж ахуйн нэгжийн үйлчлүүлэгчиддээ зориулж нэлээд төвөгтэй шийдэл дээр ажиллаж байна. Энэ сайтыг WordPress дээр барьж байгаа боловч олон тооны хонх, шүгэл байна. Ихэнхдээ би ийм төрлийн ажил хийж байхдаа бусад сайтууд дээр дахин захиалах кодыг хадгалах дуртай байдаг. Энэ тохиолдолд би үүнийг ийм ашигтай функц гэж бодсон, үүнийг дэлхийтэй хуваалцахыг хүссэн юм. Бид ашиглаж байна Avada WordPress сэдэв нь Fusion Page Builder-тэй энэ нь эцэг эхийн сэдэв бөгөөд манай хүүхдийн сэдэвт бага зэрэг өөрчлөн тохируулсан кодыг ашиглах явдал юм.

WordPress нь API дээрээ wp_list_pages, get_pages гэх мэт дэд хуудсуудыг жагсаахад ашиглаж болох хэд хэдэн функцтэй болсон. Асуудал нь олон тооны мэдээлэл бүхий жагсаалтыг динамикаар бий болгох гэж байгаа бол тэд хангалттай мэдээлэл өгөхгүй байх явдал юм.

Энэ үйлчлүүлэгчийн хувьд тэд ажлын байрны тодорхойлолтыг байршуулж, нээлттэй ажлын байрны жагсаалтыг хэвлэгдсэн огноогоор буурах дарааллаар автоматаар гаргуулахыг хүсч байв. Тэд мөн хуудасны ишлэлийг харуулахыг хүссэн.

Нэгдүгээрт, бид хуудасны загварт хэсэгчилсэн дэмжлэгийг нэмж оруулах хэрэгтэй болов. Тэдний сэдэвт зориулсан functions.php дээр бид дараахь зүйлийг нэмж оруулсан.

add_post_type_support ('хуудас', 'ишлэл');

Дараа нь бид дэд хуудасны жагсаалт, тэдгээрийн холбоос, тэдгээрийн ишлэлийг үүсгэх захиалгат богино кодыг бүртгүүлэх шаардлагатай байв. Үүнийг хий, бид ашиглах ёстой WordPress Loop. Functions.php дээр бид дараахь зүйлийг нэмж оруулсан.

// Жагсаалтын функцэд дэд хуудсуудыг жагсаах dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (массив ('ifempty' => 'Бүртгэлгүй', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'хуудас', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'published_date', 'order' => 'DESC' ,); $ parent = new 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 (); return $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Одоо богино кодыг сайтын хэмжээнд хэрэгжүүлж, хүүхдийн хуудсыг холбоос, ишлэлээр харуулах боломжтой боллоо. Хэрэглээ:

[list_subpages aclass = "button" ifempty = "Уучлаарай, одоогоор бидэнд ажлын байр нээгдээгүй байна."] Ажлын байрны жагсаалт [/ жагсаалтын_хуудас]

Үүний үр дүнд нийтэлсэн ажлын байрны жагсаалтыг гаргалаа.

Хэрэв хэвлэгдсэн ажил байхгүй байсан бол (хүүхдийн хуудас байхгүй) дараахь зүйлийг нийтлэх болно.

Уучлаарай, одоогоор бидэнд ажлын байр нээгдээгүй байна.

Хэрэв хэвлэгдсэн ажил (хүүхдийн хуудас) байсан бол дараахь зүйлийг нийтлэх болно.

Ажлын жагсаалт:

Чи юу гэж бодож байна?

Энэ сайт нь спамыг багасгахын тулд Akismet-ийг ашигладаг. Таны өгөгдлийг хэрхэн боловсруулдаг талаар суралц.