ฉันจะรับจำนวนแถวในโพสต์ข้อความค้นหาเช่น mysql count (*) ได้อย่างไร
$obj_name = new WP_Query($args);
while ($obj_name->have_posts()) : $obj_name->the_post();
// here i want to predict looping counts
endwhile;
ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันจะรับจำนวนแถวในโพสต์ข้อความค้นหาเช่น mysql count (*) ได้อย่างไร
$obj_name = new WP_Query($args);
while ($obj_name->have_posts()) : $obj_name->the_post();
// here i want to predict looping counts
endwhile;
ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
$num = $obj_name->post_count;
การอ้างอิง: wp_query
คำตอบที่ยอมรับได้ที่นี่เป็นสิ่งที่ผิดซึ่งได้รับการยืนยันในสถานการณ์ของฉัน กรุณาเปรียบเทียบจากหน้าอ้างอิง:
$ post_countจำนวนการโพสต์ที่แสดง
$ Found_postsจำนวนโพสต์ทั้งหมดที่พบตรงกับพารามิเตอร์เคียวรีปัจจุบัน
ด้วยวิธีนี้ $ post_count จะแสดงเช่นจำนวนการโพสต์ต่อหน้าหากมีผลลัพธ์มากกว่าหนึ่งหน้า เฉพาะในกรณีที่จำนวนทั้งหมดน้อยกว่าจำนวนผลลัพธ์ต่อหน้ามันจะตรงกับจำนวนทั้งหมด
วิธีที่ถูกต้องในการรับหมายเลขผลลัพธ์ทั้งหมดคือ:
$obj_name->found_posts
.
ในการรับจำนวนโพสต์ทั้งหมด WP_Query ให้ส่งคืนการใช้ "found_posts"
นี่คือตัวอย่าง -
<?php
$args = array(
'post_type' => 'post'
);
$the_query = new WP_Query( $args );
$totalpost = $the_query->found_posts;
?>
ใช้ชื่อประเภทโพสต์ที่กำหนดเองแทน 'โพสต์' คุณยังสามารถส่งรหัสหมวดหมู่ได้อีกด้วย ('cat' => 4,)