การเพจ Wordpress PHP Query ของฉัน

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

หนึ่งในหน้าที่ฉันต้องการใช้การแบ่งหน้าคือ http://www.urbanvision.org.uk/services/property-services/properties-for-sale/

ฉันต้องการเลขหน้าและพยายามใช้ WP Navi แต่ PHP ของฉันเกิดข้อผิดพลาด และฉันได้รับข้อความแสดงข้อผิดพลาดเมื่อพยายามเข้าถึงหน้าที่เผยแพร่

รหัสปัจจุบันของฉันคือ:

<?php
$featuredPosts = new WP_Query();
$featuredPosts->query('showposts=100&cat=13');
while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>

<div class="literaturedescription">

<?php
$prop_det_url = get_field('property_details_url');
if($prop_det_url!=''){ ?>

<a href="/th<?php echo $prop_det_url; ?>" target="_blank" title="<?php the_field('property_title'); ?>">
<img src="<?php the_field('property_thumbnail'); ?>" width="220px" height="150px" alt="<?php the_field('property_title'); ?>" /></a>

<?php } else { ?>

<a href="/th<?php the_field('property_details'); ?>" title="<?php the_field('property_title'); ?>" target="_blank">
<img src="<?php the_field('property_thumbnail'); ?>" width="220px" height="150px" alt="<?php the_field('property_title'); ?>" /></a>

<?php } ?>

<p><strong><?php the_field('property_title'); ?></strong><br /><?php the_field('property_excerpt'); ?> <span style="color:red;font-weight:bold;"><?php the_field('property_status'); ?></span>


<?php
$prop_det_url = get_field('property_details_url');
if($prop_det_url!=''){ ?>

<br /><a href="/th<?php echo $prop_det_url; ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } else { ?>

<br /><a href="/th<?php the_field('property_details'); ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } ?>


</div>

<div class="clear"></div>

<?php endwhile; ?>

ใกล้ถึงจุดที่เรากำลังจะเพิ่มคุณสมบัติมากขึ้นเรื่อยๆ และโดยหลักการแล้วอยากให้มีหน้า 10 หรือ 20 โพสต์ต่อหน้า


อัปเดตเพื่อแสดงรหัสที่ฉันได้ลองใช้:

<?php
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1
$featuredPosts = new WP_Query();
$featuredPosts = new WP_Query( array( 'posts_per_page' => 10, 'cat' => 13, 'paged' => $paged);
while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>

<div class="literaturedescription">

<?php
$prop_det_url = get_field('property_details_url');
if($prop_det_url!=''){ ?>

<a href="/th<?php echo $prop_det_url; ?>" target="_blank" title="<?php the_field('property_title'); ?>">
<img src="<?php the_field('property_thumbnail'); ?>" width="220px" height="150px" alt="<?php the_field('property_title'); ?>" /></a>

<?php } else { ?>

<a href="/th<?php the_field('property_details'); ?>" title="<?php the_field('property_title'); ?>" target="_blank">
<img src="<?php the_field('property_thumbnail'); ?>" width="220px" height="150px" alt="<?php the_field('property_title'); ?>" /></a>

<?php } ?>

<p><strong><?php the_field('property_title'); ?></strong><br /><?php the_field('property_excerpt'); ?> <span style="color:red;font-weight:bold;"><?php the_field('property_status'); ?></span>


<?php
$prop_det_url = get_field('property_details_url');
if($prop_det_url!=''){ ?>

<br /><a href="/th<?php echo $prop_det_url; ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } else { ?>

<br /><a href="/th<?php the_field('property_details'); ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } ?>


</div>

<div class="clear"></div>

<?php endwhile; ?>

<?php wp_reset_postdata() ?>

<?php wp_pagenavi( array( 'query' => $featuredPosts) ); ?>

person Ben    schedule 25.06.2012    source แหล่งที่มา


คำตอบ (1)


คุณต้องเพิ่มการแบ่งหน้าในการสืบค้นของคุณก่อน

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1

$featuredPosts = new WP_Query( array( 'posts_per_page' => 10, 'cat' => 13, 'paged' => $paged ) );

หลังจากสิ้นสุดการโทร wp_reset_postdata()

จากนั้นสำหรับ wp_pagenavi:

wp_pagenavi( array( 'query' => $featuredPosts) );
person Chris_O    schedule 25.06.2012
comment
ขอบคุณ @Chris_O ฉันได้เพิ่มข้อเสนอแนะของคุณลงในโค้ดของฉันแล้ว แต่ได้รับข้อผิดพลาดต่อไปนี้ 'ข้อผิดพลาด HTTP 500 (ข้อผิดพลาดเซิร์ฟเวอร์ภายใน): พบเงื่อนไขที่ไม่คาดคิดในขณะที่เซิร์ฟเวอร์พยายามตอบสนองคำขอ' ฉันได้อัปเดตคำตอบด้วยการเปลี่ยนแปลงโค้ดที่ฉันทำ - person Ben; 25.06.2012
comment
เปิด WP_DEBUG ใน wp-config.php เพิ่มกำหนด ('WP_DEBUG', จริง); และดูว่าคุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดได้หรือไม่ คุณต้องลบส่วนเกิน $featuredPosts = new WP_Query(); ออกด้วย - person Chris_O; 25.06.2012
comment
ขอบคุณ มันบอกว่ามีข้อผิดพลาดทางไวยากรณ์ที่บรรทัดพร้อมโค้ดต่อไปนี้ $featuredPosts = new WP_Query( array( 'posts_per_page' => 10, 'cat' => 13, 'paged' => $paged); - person Ben; 25.06.2012
comment
ขอบคุณสำหรับความช่วยเหลือ :) ใช้งานได้แล้ว และยังมี ; ที่จำเป็นสำหรับบรรทัดเพจ $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1; - person Ben; 25.06.2012