У меня есть кастомный тип поста и я пытаюсь получить его с помощью 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;
Я установил его, но с ним можно просто выбрать, какую страницу я хочу, и не получается заставить пагинацию работать. Я использую функцию wordpress next_posts_link(); для разбивки на страницы.
Если вы сможете лучше сформулировать свой вопрос — постараемся дать более полный ответ )
Проверьте WP_Query чтобы посмотреть все параметры
кстати,
query_posts
так же работает с кастомными постами, и принимает все параметры, как и WP_Query.Спасибо, Роман. Я просто хочу получить все записи из кастомного типа постов, называемого questions, и у этого пользовательского типа записей есть рубрики, которые определяются как пользовательские термины. С помощью запроса выше я могу получить последние посты для определенного кастомного термина, но не могу получить разбивку на страницы. Вот в чем проблема.
А вы установили WP-Pagenavi? Я пропустил эту часть, проверьте новый код в моем ответе. Я добавил часть с разбивкой на страницы.
Отличная работа!
Большое спасибо! Да, теперь все работает. Я немного изменил код и использовал код отсюда wordpress.org
Добавьте аргумент
paged => 1,2...n
и думаю чтоposts_per_page
, как иpaged
должно быть за массивомtax_query
.Спасибо, только что сделал это, теперь количество постов получается ограничить. Неплохо )
если вы поменяете переменную
$my_query
на$wp_query
— тогда код заработает. Код во встроенной в WordPress функцииnext_posts_link
иprevious_posts_link
как раз ждет, что объект запроса будет называться$wp_query
.Делая так, вы также изменяете основной запрос, что может привести к непреднамеренным последствиям. Вы можете уточнить и объяснить, как избежать этой проблемы? Кроме того, лучше всего размещать работающий код в ответе.
А вы добавили
paged
и присвоили нужный номер страницы, которую ищете?