【问题标题】:WP_Query offset not workingWP_Query 偏移量不起作用
【发布时间】: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


    【解决方案1】:

    找到了答案。对于任何好奇的人:

    function vici_apad_query($next_topic) {
        $args = array(
                'post_type' => 'vici_apad',
                'meta_query' => array(
                        array(
                                'key' => 'topic',
                                'value' => $next_topic,
                                'compare' => '<=',
                        )
                ),
                'orderby' => 'meta_value_num',
                'order' => 'DESC',
            );
        $new_query = new WP_Query( $args );
    
        return $new_query;
    
    }
    

    实现是一样的,除了wp_reset_query()wp_reset_postdata()替换,因为不需要重置整个查询。

    我实际上让我的代码更简单,而不是最复杂。真是惊喜。

    【讨论】:

      猜你喜欢
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多