Content Marketing

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 dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'No Records', '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. ' '; ในขณะที่ ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; ถ้า (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; ในที่สุด; } else {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); ส่งคืน $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

ตอนนี้สามารถใช้รหัสย่อทั่วทั้งไซต์เพื่อแสดงหน้าย่อยพร้อมลิงก์และข้อความที่ตัดตอนมา การใช้งาน:

[list_subpages aclass = "button" ifempty = "ขออภัยขณะนี้เราไม่มีตำแหน่งงานว่าง"] รายชื่องาน [/ list_subpages]

ผลลัพธ์ที่ได้คือรายการงานที่เผยแพร่โดยไม่เรียงลำดับที่ดีและสะอาดซึ่งเป็นเพจย่อยในเพจอาชีพ

หากไม่มีการเผยแพร่งาน (ไม่มีเพจย่อย) จะเผยแพร่:

ขออภัยขณะนี้เราไม่มีตำแหน่งงานว่าง

หากมีการเผยแพร่งาน (เพจย่อย) จะเผยแพร่:

รายชื่องาน:

Douglas Karr

Douglas Karr เป็น CMO ของ เปิดข้อมูลเชิงลึก และผู้ก่อตั้ง Martech Zone. Douglas ได้ช่วยเหลือสตาร์ทอัพ MarTech ที่ประสบความสำเร็จหลายสิบราย ได้ช่วยเหลือในการตรวจสอบสถานะมูลค่ากว่า 5 พันล้านดอลลาร์ในการซื้อกิจการและการลงทุนของ Martech และยังคงช่วยเหลือบริษัทต่างๆ ในการปรับใช้และทำให้กลยุทธ์การขายและการตลาดเป็นไปโดยอัตโนมัติ Douglas เป็นผู้เชี่ยวชาญด้านการเปลี่ยนแปลงทางดิจิทัลและ MarTech ที่ได้รับการยอมรับในระดับสากล ดักลาสยังเป็นผู้เขียนหนังสือ Dummie's Guide และหนังสือความเป็นผู้นำทางธุรกิจที่ได้รับการตีพิมพ์อีกด้วย

บทความที่เกี่ยวข้อง

กลับไปด้านบนปุ่ม
ปิดหน้านี้

ตรวจพบการบล็อกโฆษณา

Martech Zone สามารถจัดหาเนื้อหานี้ให้คุณโดยไม่มีค่าใช้จ่าย เนื่องจากเราสร้างรายได้จากไซต์ของเราผ่านรายได้จากโฆษณา ลิงก์พันธมิตร และการสนับสนุน เรายินดีอย่างยิ่งหากคุณจะลบตัวปิดกั้นโฆษณาของคุณเมื่อคุณดูไซต์ของเรา