【发布时间】:2013-12-02 17:32:13
【问题描述】:
我为自定义帖子类型创建了一个新的 WP_Query,并且我正在尝试动态更改偏移量。我的查询以Making Custom Queries using Offset and Pagination 为模型,但我更改了它,因此它没有使用钩子,因为我没有更改主查询。无论如何,帖子以正确的顺序显示,当我echo var_dump ($new_query->get ('offset') );时,设置了正确的偏移量;但是,当我加载页面时没有偏移。谁能帮我弄清楚为什么没有应用偏移量?
function new_query_function ($next_topic) {
$args = array(
'post_type' => 'custom_post_type',
'meta_key' => 'topic',
'orderby' => 'meta_value_num',
'order' => 'DESC',
);
$new_query = new WP_Query ($args);
$offset = ($new_query->found_posts) - $next_topic;
$ppp = (int) get_option ('posts_per_page');
if ($new_query->is_paged) {
$page_offset = $offset + ( ($new_query->query_vars['paged'] - 1) * $ppp );
$new_query->set ('offset', $page_offset);
} else {
$new_query->set ('offset', $offset);
}
$new_query->found_posts = $next_topic;
return $new_query;
}
编辑:这也可能与我如何实现此功能有关,所以这里是:
$new_query = new_query_function($next_topic);
while ( $new_query->have_posts() ) {
$new_query->the_post();
the_title();
the_content();
//etc.
}
wp_reset_query();
【问题讨论】:
标签: wordpress