การ Query Loop ของ เวิร์ดเพรส

banner

การ Query Loop ของ เวิร์ดเพรส คือ?

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

คำสั่ง WP_Query

  • $args คือ ตัวแปรที่ไว้เก็บค่าต่างๆที่จะมากำหนดในลูป
  • ‘category_name’ => ‘news’ คือ ค่าที่กำหนดให้นำบทความในหมวดหมู่ news มาแสดง
  • posts_per_page’ => 4 คือ ค่าที่กำหนดให้แสดงจำนวน 4 บทความ
  • คำสั่ง $the_query = new WP_Query( $args ); คือ การนำตัวแปรที่เราสร้างมาสร้างลูปใหม่แล้วใส่เข้าไปในตัวแปรใหม่ที่ชื่อว่า the_query แทน
  • คำสั่ง while ( $the_query->have_posts() ) : $the_query->the_post(); คือ คำสั่งวนลูปหาบทความที่อยู่ในเกณฑ์ที่เรากำหนดไว้มาแสดง
  • คำสั่ง the_title(); คือ การนำหัวข้อของบทความนั้นๆมาแสดง
  • คำสั่ง the_content(); คือ การนำเนื้อหาของบทความนั้นๆมาแสดง
  • คำสั่ง endwhile; คือ การปิดการวนลูป
  • คำสั่ง wp_reset_postdata(); คือ การรีเซ็ทค่าต่างๆในการวนลูปเพื่อจะได้ไม่กระทบค่ากับลูปอื่นที่เราทำต่อไป
<?php
$args = array(
'category_name' => 'news',
'posts_per_page' => 4
);
$the_query = new WP_Query( $args );
?>

<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

<?php the_title(); ?>

<?php the_content(); ?>

<?php endwhile; wp_reset_postdata(); ?>

ตัวแปร WP_Query

คำสั่ง คำอธิบาย
'category_name' => 'your_category' เลือกหมวดหมู่ที่กำหนดมาแสดง
'post_type' => 'your_posttype' เลือก post_type ที่กำหนดมาแสดง
'tag' => 'your_tag' เลือก tag ที่กำหนดมาแสดง
'posts_per_page' => 4 กำหนดให้แสดงจำนวน 4 บทความ
'offset' => 3 กำหนดให้ไม่ต้องแสดง 3 บทความแรก
'order' => 'ASC' กำหนดให้แสดงเรียงจาก (1, 2, 3, a, b, c)
'order' => 'DESC' กำหนดให้แสดงเรียงจาก (3, 2, 1, c, b, a)

ข้างต้นคือตัวแปรที่ใช้กันบ่อยๆ แต่ยังมีตัวแปรที่สามารถใช้ได้อีกหลากหลาย เข้าไปศึกษาเพิ่มเติมได้ที่ Codex WordPress

โดย: [K] Narongchai Suphiratwanich

นักพัฒนาเว็บไซต์ด้วยระบบเวิร์ดเพรส เป็นผู้ช่วยให้กับ Mennstudio และ เปิดธุรกิจเล็กๆ อยู่ในอำเภอปาย

สอบถาม & พูดคุย