Пейджинг моего PHP-запроса Wordpress

У меня есть запрос, который возвращает свойства для аренды / продажи на соответствующих страницах, независимо от того, что я пытаюсь сделать, я не могу получить запрос на успешную страницу.

Одна из страниц, на которой я хочу использовать разбиение на страницы, это 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="<?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="<?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="<?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="<?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="<?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="<?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="<?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="<?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 add define('WP_DEBUG', true); и посмотрите, можете ли вы получить больше информации об ошибке. Вам также необходимо удалить лишние $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