ฉันเป็นแฟนตัวยงของคลาส WP_Query: ฉันใช้มันบนเว็บไซต์ไคลเอนต์หลายแห่งเพื่อดึงข้อมูลและแสดงข้อมูลในแบบที่เป็นส่วนตัว

หากคุณต้องการใช้หลายลูปบนเพจวิธีที่ดีที่สุดคือเรียกใช้ "WP_Query" เมื่อใดก็ตามที่คุณต้องการวนซ้ำ

แต่มีข้อเสียเปรียบอยู่ข้อหนึ่ง: เมื่อใดก็ตามที่ WordPress เรียกใช้งานลูปมันจะส่งข้อความค้นหาไปยังฐานข้อมูลซึ่งใช้เวลานานกว่าและอาจทำให้เว็บไซต์ของคุณช้าลง

ในบทช่วยสอนนี้ฉันจะแสดงวิธีใช้แบบสอบถามสำหรับการวนซ้ำมากกว่าหนึ่งครั้ง คุณสามารถทำได้ด้วยแบบสอบถามหลักหรือคุณสามารถใช้เทคนิคเดียวกันกับ WP_Query

เราจะสำรวจด้าน 3:

 

  • สร้างธีมลูกและไฟล์เทมเพลต
  • สร้างชิ้นส่วนเทมเพลตสำหรับเนื้อหาลูป
  • สร้างลูปของเรา

 

แต่ก่อนที่เราจะค้นพบด้วยกัน วิธีการติดตั้งขั้นตอน 7 บล็อก WordPress et วิธีการหาติดตั้งและเปิดใช้งานธีมเวิร์ดเพรสบนบล็อกของคุณ 

จากนั้นกลับไปที่สาเหตุที่เราอยู่ที่นี่

สิ่งที่คุณต้องการ

ในการทำตามบทแนะนำนี้คุณจะต้อง:

 

  • จากการติดตั้ง WordPress เพื่อการพัฒนา (ในเครื่อง)
  • โปรแกรมแก้ไขรหัส
  • บทความในเว็บไซต์ของคุณที่ได้รับมอบหมายหลายหมวดหมู่
  • ธีมที่สิบหกของ WordPress
  • ชุดรูปแบบของเด็กยี่สิบหกติดตั้งและเปิดใช้งาน

 

เทคนิคนี้ยังปรับให้เข้ากับสถานการณ์ของคุณและ to ธีม WordPress.

การสร้างชุดรูปแบบลูก

ขั้นแรกเราจะสร้างธีมลูกของยี่สิบหก ฉันกำลังทำสิ่งนี้เพราะฉันไม่ต้องการเปลี่ยนธีมหลัก

ค้นพบ วิธีการติดตั้งธีม WordPress เด็ก

ในโฟลเดอร์ "wp-content / themes" ของคุณสร้างโฟลเดอร์ว่างใหม่ซึ่งคุณจะเรียกว่า "tutor-theme" คุณสามารถเลือกชื่อที่เหมาะสมกับคุณในภายหลัง

ในโฟลเดอร์นี้สร้างไฟล์ชื่อ style.css และเพิ่มรหัสต่อไปนี้:

/*

ชื่อชุดรูปแบบ: ชุดรูปแบบ Tuto

URI ของธีม: https://blogpascher.com

คำอธิบาย: ชุดรูปแบบเพื่อสนับสนุนบทช่วยสอนเกี่ยวกับการเรียกใช้หลายลูปในขณะที่ทำการสืบค้นฐานข้อมูลเพียงครั้งเดียว ชุดรูปแบบลูกสำหรับชุดรูปแบบ Twenty sixteen

ผู้แต่ง: Hervé

ผู้เขียน URI: https://blogpascher.com

แม่แบบ: twentysixteen

เวอร์ชัน: 1.0

*/

 

@import url ("../twentysixteen/style.css");

ตอนนี้บันทึกไฟล์นี้และเปิดใช้งานใหม่ของคุณ ธีม WordPress.

ขั้นตอนต่อไปคือการสร้างไฟล์เทมเพลตสำหรับหมวดหมู่นั่นคือสิ่งที่เราจะดำเนินการ

ทำสำเนาของไฟล์ “archive.php” จากไฟล์ ธีม WordPress “ยี่สิบหก” อย่าเคลื่อนย้าย แต่ให้ทำสำเนาไว้ เปลี่ยนชื่อเป็น "category.php"

หากต้องการไปไกลกว่านั้นให้ค้นพบ วิธีการจัดการไฟล์และโฟลเดอร์ WordPress

นี่จะเป็นไฟล์เทมเพลตสำหรับหมวดหมู่ของเว็บไซต์ของคุณ

การสร้างไฟล์เทมเพลตใหม่

ขั้นตอนแรกคือการสร้างไฟล์เทมเพลตใหม่ในชุดรูปแบบของเราซึ่งจะมีลูป "ยี่สิบหก" ที่แก้ไขแล้ว

เรามาปรึกษากันด้วย วิธีทำให้เว็บไซต์ WordPress ของคุณอยู่ในโหมดบำรุงรักษา

ในโฟลเดอร์ชุดรูปแบบลูกสร้างโฟลเดอร์ย่อยที่เรียกว่า "รวม" และข้างในสร้างไฟล์ใหม่ชื่อ "loop-category.php"

ถัดไปเปิดไฟล์ "template-parts / content.php" จากโฟลเดอร์ธีมหลัก (ยี่สิบหก) และค้นหารหัสต่อไปนี้:

" >

 

 

 

 

 

 ', esc_url (get_permalink ())),' '); ?>

 

 

 

 

 

 

 

 <?php

 / * ผู้แปล:% s: ชื่อโพสต์ปัจจุบัน * /

 the_content (sprintf (

 __ ('อ่านต่อ '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (อาร์เรย์ (

 'before' => ' '. __ ('หน้า:', 'twentysixteen') ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' ' __ ('หน้า', 'twentysixteen') ' %',

 'คั่น' => ' , ',

 ));

 ?>

 

 

 

 

 <?php

 edit_post_link (

 sprintf (

 / * ผู้แปล:% s: ชื่อโพสต์ปัจจุบัน * /

 __ ('แก้ไข '% s ' ', 'twentysixteen'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

คัดลอกรหัสนี้ลงในไฟล์ "loop-category.php" ใหม่ของธีมลูก

การแก้ไขไฟล์เท็มเพลตชิ้นส่วน

ลูป "ยี่สิบหก" แสดงมากกว่าสิ่งที่ฉันต้องการดังนั้นฉันจะแก้ไขโค้ดนี้ ฉันแค่ต้องการแสดงตัวอย่างไม่ใช่เนื้อหาดังนั้นเราจะนำเนื้อหาออก

ความแตกต่างระหว่าง H1 และชื่อ SEO ของบทความ WordPress คืออะไร? ค้นหาโดยปรึกษาบทความนี้

ในไฟล์ loop-category.php ใหม่ของคุณค้นหารหัสนี้และลบมัน:

<div class = "entry-content">

 <?php

 / * ผู้แปล:% s: ชื่อโพสต์ปัจจุบัน * /

 the_content (sprintf (

 __ ('อ่านต่อ '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (อาร์เรย์ (

 'before' => ' '. __ ('หน้า:', 'twentysixteen') ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' ' __ ('หน้า', 'twentysixteen') ' %',

 'คั่น' => ' , ',

 ));

 ?>

อีกขั้นตอนหนึ่งคือการแทนที่ฟังก์ชัน "twenty_sixteen_excerpt ()" ด้วยฟังก์ชัน "the_excerpt ()" เนื่องจากเวอร์ชันของ twenty sixteen ไม่มีลิงก์ไปยังบทความฉบับเต็ม

ดูเพิ่มเติม วิธีการดูบทความล่าสุดในหมวดหมู่ที่เฉพาะเจาะจง

ค้นหาบรรทัดนี้:

แทนที่ด้วยสิ่งนี้:

เราต้องทำการเปลี่ยนแปลงแท็กชื่อด้วย

ในส่วนของโมเดลให้เปลี่ยนบรรทัด:

', esc_url (get_permalink ())),' '); ?>

แก้ไขแท็ก H2 สำหรับ H3:

', esc_url (get_permalink ())),' '); ?>

ลงทะเบียนโมเดลของคุณ จากนั้นกลับไปที่ไฟล์ category.php ของคุณเราจะดำเนินการต่อไป

การสร้างลูป

ก่อนอื่นเราจะลบการรวมรหัสสำหรับ "twenty sixteen" ออกจากไฟล์ "category.php" ของเราเนื่องจากเราจะต้องใช้ไฟล์ใหม่

ในไฟล์ category.php ของคุณค้นหารหัสนี้:

get_template_part ('template-parts / content', get_post_format ());

และลบ

จากนั้นเราจะสร้างลูป

ในตัวอย่างนี้ฉันจะแสดงโพสต์ทั้งหมดที่มีแท็ก "เนื้อหา" โดยใช้แท็กเงื่อนไข "has_tag ()" ซึ่งหมายความว่าฉันจะต้องผ่านสามลูป:

 

  • การตรวจสอบครั้งแรกหากแบบสอบถามได้โพสต์รายการด้วยแท็กนี้
  • ถ้าเป็นเช่นนั้นบทความที่สองแสดงบทความที่มีป้ายกำกับนี้
  • ที่สามแสดงบทความที่ไม่มีแท็กนี้

 

ระหว่างแต่ละลูปฉันจะใช้ rewind_posts () เพื่อย้อนกลับข้อความโดยไม่รีเซ็ตเคียวรี: เรามักจะทำงานกับคิวรีหลักทุกครั้ง

ลูปแรก: การตรวจสอบบทความ

ในไฟล์ "category.php" ของคุณค้นหาจุดเริ่มต้นของลูป:

ขณะที่ (have_posts ()): the_post ();

เหนือบรรทัดนี้กำหนดตัวแปรใหม่ที่เรียกว่า $ count:

$ count = 0;

จากนั้นภายในลูปนั้นให้เพิ่มรหัสนี้:

// ตรวจสอบว่ามีโพสต์ที่มีแท็ก»หรือไม่

$ tag = 'เนื้อหา';

if (has_tag ($ tag)) {

 $ count + = 1;

}

รหัสนี้ตรวจสอบว่าข้อความมีป้ายกำกับ "content" หรือไม่จากนั้นเพิ่ม 1 ในตัวนับหากมี

ด้านในของลูปจะคล้ายกับสิ่งนี้:

// ตรวจสอบการโพสต์ในวงแรก

$ count = 0;

ขณะที่ (have_posts ()): the_post ();

 

// ตรวจสอบว่ามีโพสต์ที่มีแท็ก»หรือไม่

$ tag = 'เนื้อหา';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

endwhile;

ลูปที่สอง: กู้คืนบทความด้วยแท็ก

ขั้นตอนต่อไปคือการวนซ้ำเพื่อแสดงบทความที่มีแท็กนี้เฉพาะในกรณีที่มี

ตัวอย่างเช่นหากค่าของ $ count มากกว่า 0

ค้นพบด้วย วิธีการปรับแต่งแดชบอร์ด WordPress สำหรับลูกค้า

เพิ่มเงื่อนไขนี้ในการวนซ้ำ:

ถ้า ($ count> 0) {

 

 rewind_posts ();

 

 ก้อง ' โพสต์ที่ติดแท็ก " $ tag. ' ';

 

 

 ขณะที่ (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('รวม / ห่วง', 'หมวดหมู่'); 

 }

 

 // จบลูป

 endwhile;

 

}

รหัสนี้ตรวจสอบว่า $ count มีค่ามากกว่าศูนย์และหากเป็นเช่นนั้นให้ย้อนกลับรายการและเรียกใช้การวนซ้ำอีกครั้ง สำหรับแต่ละรายการนั้นจะตรวจสอบว่าเป็นเจ้าของป้ายกำกับของเราหรือไม่และหากเป็นเช่นนั้นจะเรียกส่วนของเทมเพลตที่เราเพิ่งสร้างขึ้น

ลูปที่สาม: ดูบทความที่เหลือ

ผลลัพธ์จะเป็นลูปสุดท้ายของบทความที่เหลือ หากหมวดหมู่นี้ไม่มีบทความที่มีแท็ก "เนื้อหา" บทความนั้นจะแสดงบทความทั้งหมดในหมวดหมู่นั้น

เรียนรู้เช่นกัน วิธีการสร้างบล็อกหลายผู้เขียนและผู้อ่านของคุณอนุญาตให้โพสต์บทความในบล็อกของคุณ

ในลูปที่สองของคุณเพิ่ม:

rewind_posts ();

 

 

// Second Loop - โพสต์ที่ไม่มีแท็ก 'content'

ขณะที่ (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('รวม / ห่วง', 'หมวดหมู่'); 

 }

 

// จบลูป

ในที่สุด; ?>

รหัสสุดท้ายนี้จะย้อนกลับบทความจากนั้นดำเนินการวนซ้ำอีกครั้ง คราวนี้จะตรวจสอบว่าบทความไม่มีแท็ก "เนื้อหา" หรือไม่จากนั้นจะแสดงเนื้อหาใน "ส่วนเทมเพลต"

เราขอแนะนำให้คุณค้นพบ วิธีการเพิ่มการพิมพ์บทความเกี่ยวกับตัวเลือก WordPress

ตอนนี้คุณสามารถทดสอบหน้าบทความของบล็อกของคุณ จำไว้ว่าคุณสามารถเปลี่ยนฟิลเตอร์ได้ ในบทช่วยสอนนี้เราใช้ "เนื้อหา" เป็นตัวกรองป้ายกำกับ แต่คุณสามารถใช้ตัวเลือกที่คุณต้องการ

ค้นพบปลั๊กอิน WordPress พรีเมียมบางอย่าง  

คุณสามารถใช้อื่นๆ ปลั๊กอิน WordPress เพื่อให้ดูทันสมัยและเพิ่มประสิทธิภาพการจัดการบล็อกหรือเว็บไซต์ของคุณ

เราเสนอปลั๊กอิน WordPress พรีเมี่ยมให้คุณที่นี่ซึ่งจะช่วยคุณได้

1 Social Wall Addon สำหรับ UserPro

UserPro สามารถสนุกได้มากขึ้นด้วยโซเชียลวอลล์ นี่คือสิ่งที่ส่วนขยาย Social Wall นำมา ด้วยปลั๊กอิน Social Wall คุณสามารถสร้างกำแพงบนเว็บไซต์ของคุณและมอบวิธีที่สดชื่นให้กับสมาชิกในการโต้ตอบกับชุมชน

Le WordPress ปลั๊กอิน Social Wall อนุญาตให้ผู้ใช้: แชร์ข้อความระหว่างกัน, แชร์รูปภาพ, แสดงความคิดเห็นในโพสต์ของคนอื่น, ผู้ใช้สามารถชอบหรือไม่ชอบข้อความ, สามารถเลือกแสดงวอลล์ได้เฉพาะผู้ใช้ที่ล็อกอินหรือสำหรับผู้ใช้ทั้งหมด, ผู้ดูแลระบบสามารถ ลบโพสต์หรือความคิดเห็นของผู้ใช้ ฯลฯ

ดาวน์โหลด | สาธิต | เว็บโฮสติ้ง

2 พันธมิตร Flipkart Plus

Flipkart Affiliate Plus เป็น WordPress ปลั๊กอิน โมดูลที่เชื่อมต่อเว็บไซต์ WordPress ของคุณกับ Flipkart Affiliate API 

Ce WordPress ปลั๊กอิน ทำให้การนำเข้าข้อมูลผลิตภัณฑ์จาก Flipkart และอัปเดตบนเว็บไซต์ของคุณโดยตรงเป็นเรื่องง่ายมาก Flipkart Affiliate Plus เป็นปลั๊กอิน WordPress ตัวแรกสำหรับ Flipkart API อย่างเป็นทางการ เมื่อใช้งาน คุณจะไม่จำเป็นต้องใช้ API ของบริษัทอื่น คุณจึงได้รับประโยชน์อย่างเต็มที่จากงานของคุณ

ดาวน์โหลด | สาธิต | เว็บโฮสติ้ง

3 Google Analytics ที่เป็นประโยชน์สำหรับ WooCommerce

Google Analytics ที่ดำเนินการได้คือปลั๊กอิน WordPress ที่ช่วยให้คุณสามารถใช้คุณลักษณะที่ดีที่สุดบางประการของ Universal Analytics ซึ่งรวมถึงอีคอมเมิร์ซที่เพิ่มประสิทธิภาพและการติดตาม ID ผู้ใช้ นอกจากนี้ปลั๊กอินนี้สนับสนุนการไม่ระบุตัวตนของที่อยู่ IP การคืนเงินผลิตภัณฑ์การจัดกลุ่มเนื้อหาการติดตามแบบฟอร์ม ฯลฯ

ด้วยการใช้ปลั๊กอิน WordPress นี้คุณจะประหยัดเวลาในการรวมรหัส Google Analytics ที่ซับซ้อนดังนั้นคุณจึงสามารถมุ่งเน้นไปที่การจัดการข้อมูลของคุณ

คุณสมบัติหลัก ได้แก่ การติดตั้งที่ง่ายและรวดเร็วเข้าถึงรายงานอีคอมเมิร์ซที่ปรับปรุงแล้ว 9 รายงานความสามารถในการศึกษาว่าผู้ใช้รายเดียวกันใช้อุปกรณ์ต่างกันอย่างไรและซื้อสินค้าอย่างไร ความสามารถในการวิเคราะห์ผลิตภัณฑ์ที่ได้รับการคืนเงินบ่อยที่สุดในที่สุดเพื่อดำเนินการแก้ไขและอื่น ๆ

ดาวน์โหลด | สาธิต | เว็บโฮสติ้ง

แหล่งข้อมูลอื่น ๆ ที่แนะนำ

นอกจากนี้เรายังขอเชิญคุณให้ศึกษาข้อมูลด้านล่างเพื่อเพิ่มเติมในส่วนที่จับและควบคุมของเว็บไซต์และบล็อกของคุณ

 

 

สรุป

ที่นี่! นั่นคือทั้งหมดสำหรับบทแนะนำทางเทคนิคที่เป็นธรรมนี้ หวังว่าเราจะเข้าใจวิธีการใช้ WP_Query บน WordPress อย่างชัดเจน อย่าลังเลที่จะ แบ่งปันเคล็ดลับกับเพื่อนของคุณบนเครือข่ายสังคมของคุณ.

อย่างไรก็ตามคุณยังจะสามารถปรึกษาเราได้ บริการสารสนเทศหากคุณต้องการองค์ประกอบเพิ่มเติมเพื่อดำเนินโครงการสร้างเว็บไซต์อินเทอร์เน็ตของคุณโดยปรึกษากับเราใน การสร้างบล็อก WordPress

แต่ในระหว่างนี้บอกเราเกี่ยวกับคุณ ความเห็น และข้อเสนอแนะในส่วนเฉพาะ

...