WP_query и пагинация?
Мне нужно получить некоторые пользовательские типы записей и сделать это с помощью WP_Query (query_posts не работает).
Как я могу реализовать пагинацию? Что бы я ни пробовал - ничего не работает... Любая помощь будет очень кстати, сам не могу разобраться...
$args = array(
'tax_query' => array(
'posts_per_page' => 5,
array(
'author' => $user_id,
'taxonomy' => 'custom_taxtype',
'field' => 'slug',
'terms' => 'delicious-food',
)
)
);
$answer_query = new WP_Query( $args );
//// Цикл по результатам
while ( $answer_query->have_posts() ) : $answer_query->the_post();
//// делаем что-то
endwhile;
Делая это, вы также перезаписываете основной запрос, что может привести к нежелательным последствиям. Не могли бы вы отредактировать ответ, чтобы объяснить, как избежать этой проблемы? Также лучше публиковать в ответе код, который потенциально может работать.

Если вы расскажете нам, что именно вы пытаетесь сделать, мы сможем помочь вам лучше!
<?php
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'question',
'posts_per_page' => -1,
'paged' => $paged,
'author' => $user_id
);
$my_query = new WP_Query($args);
if($my_query->have_posts()):
while($my_query->have_posts()):$my_query->the_post();
//Цикл будет здесь...
endwhile;
//поддержка плагина page-navi, пожалуйста, ознакомьтесь с readme.txt для дальнейших инструкций
if ( function_exists('wp_pagenavi') )
{
wp_pagenavi();
}
elseif ( get_next_posts_link() || get_previous_posts_link() )
{
?>
<div class="wp-navigation clearfix">
<div class="alignleft"><?php //next_posts_link('« Старые записи'); ?></div>
<div class="alignright"><?php //previous_posts_link('Новые записи »'); ?></div>
</div>
<?php } //if wp_pagenavi
endif;
?>
Ознакомьтесь с документацией WP_Query для получения дополнительных параметров.
Кстати, query_posts
также работает с пользовательскими записями, так как принимает все параметры, которые можно передать в WP_Query.

Спасибо, Ruwick. Я просто хочу получить все записи из пользовательского формата записей под названием "questions", и этот формат имеет различные категории, которые определены как пользовательские таксономии. С помощью вышеуказанного запроса я могу получить последние записи для определенной таксономии, но не могу заставить работать пагинацию.

Ты установил WP-Pagenavi? Я пропустил эту часть, проверь новый код в моем ответе. Я добавил часть с пагинацией.

Большое спасибо! Да, теперь все работает. Я немного модифицировал код и использовал код от layotte отсюда. http://wordpress.org/support/topic/adding-pagination-to-a-wp-query-loop?replies=16
