Query Not working as expected

时间:2013-10-03 作者:TheWebs

所以我在前一段时间写了一个相当不吸引人的函数,我正在重新分解一些代码,我意识到我的查询函数不起作用。。。我最近发表了一篇关于my tansient posts were not working 这一切归结为查询不起作用的基本原因。

现在是的,我确实得到了一个post对象,是的,我确实设法循环它并显示一些内容。不管分页有多坏,不管你的页码是多少,都是同一组帖子。

因此,在阅读这篇文章时,我检查了一下,以确保我获得了最大页数。而我是。

但是如上所述,无论我在哪一页上,帖子都是一样的。我的另一个问题的答案中应用的相同概念是否适用于此处或。。。

    protected function _query_post($query, $remove_nav = false){
        global $wp_query;
        $original = $wp_query;
        $wp_query = new WP_Query($query);

        if($wp_query->have_posts()){
            while($wp_query->have_posts()){
                $wp_query->the_post();

                if(isset($this->_options[\'post_before\'])){
                    echo $this->_options[\'post_before\'];
                }

                $this->_components->thumbnail($this->_options);

                $this->_components->title($this->_options);

                the_excerpt();

                if(isset($this->_options[\'post_after\'])){
                    echo $this->_options[\'post_after\'];
                }               
            }
            if($remove_nav != true){
                $this->_general_loop_nav($wp_query->max_num_pages);
            }
        }else{
            $this->_components->error_page($this->_options);
        }

        $wp_query = $original;  
    }
请记住,此功能正计划重新分解。

这个问题not already been answered 由于传入的查询如下所示:

\'query\' => array(
    \'post_type\' => \'post\',
    \'paged\' => get_query_var(\'page\') // Look i\'m already paged
),

1 个回复
最合适的回答,由SO网友:murdaugh 整理而成

你没有保留paged 查询中的查询变量。您可以通过制作第4行:

$wp_query = new WP_Query($query . "&paged=" . $original->query_vars[\'paged\']);
更新:在对OP进行编辑之后,问题是分页变量,paged 在发送给函数的查询中。但是,由于输入错误,页面变量(在本例中为false)实际上被发送到函数。

因此,我们纠正了:

\'query\' => array(
  \'post_type\' => \'post\',
  \'paged\' => get_query_var(\'page\')
),

\'query\' => array(
  \'post_type\' => \'post\',
  \'paged\' => get_query_var(\'paged\')
),

结束

相关推荐

The Loop isn't working

如果不使用不太推荐的:<?php query_posts(\'post_type=post&post_status=publish&paged=\'. get_query_var(\'paged\')); ?> 我正在使用一个名为“template blog.php”的自定义页面模板,其中包含以下内容:http://pastebin.com/raw.php?i=9W3akEcX下面是“content.php”文件:http://pastebin.com/raw.php