GET_QUERY_VAR(‘PAGE’)在主页之外不工作

时间:2011-08-24 作者:Adam

二十一主题。。。

在主页上,我成功地过滤了循环,只显示“特色”帖子,通过导航链接分页功能正常。我试图在另一个名为“未筛选”的页面上显示所有类别的帖子为什么导航链接在另一个页面上使用时会消失?

编辑:如果我将“paged”的值更改为“1”或“2”,我将得到我期望的10篇文章,因此“paged”似乎根据我设置的值而工作,只是当我将其设置为“get\\u query\\u var”(“paged”)时不是这样

            <?php /* $paged = ( get_query_var(\'page\') ) ? get_query_var(\'page\') : 1;*/

            $unfiltered_query = new WP_Query ( 

            array (
                \'posts_per_page\' => 10,
                \'paged\' =>  get_query_var( \'paged\' )
            ) 

        );?>

        <?php if ( $unfiltered_query->have_posts() ) : ?>

            <?php twentyeleven_content_nav( \'nav-above\' ); ?>

            <?php /* Start the Loop */ ?>

                <?php while ( $unfiltered_query->have_posts() ) : $unfiltered_query->the_post(); ?>

                <?php get_template_part( \'excerpt\', get_post_format() ); ?>

            <?php endwhile; ?>

            <?php twentyeleven_content_nav( \'nav-below\' ); ?>

4 个回复
最合适的回答,由SO网友:Andrew Nacin 整理而成

twentyeleven_content_nav() 使用主查询对象,$wp_query. 您需要使用$wp_query 变量,而不是$unfiltered_query, 然后wp_reset_query() 恢复原始$wp_query (可以在$wp_the_query, 一些你应该避免直接接触的东西)。

只要小心地恢复原始查询,您的状态就很好。

我会向core提交一个补丁twentyeleven_content_nav() 可以选择获取可用于计算的查询对象。

SO网友:Milo

WP\\u Query的参数为paged, 但查询变量为page, 最后没有“d”。

\'paged\' =>  get_query_var( \'paged\' )
应为:

\'paged\' =>  get_query_var( \'page\' )

SO网友:Chip Bennett

如果更换get_query_var( \'paged\' ) 与全球$paged? e、 g.更换:

$unfiltered_query = new WP_Query ( 

    array (
        \'posts_per_page\' => 10,
        \'paged\' =>  get_query_var( \'paged\' )
) 
。。。使用此选项:

global $paged;

$unfiltered_query = new WP_Query ( 

    array (
        \'posts_per_page\' => 10,
        \'paged\' =>  $paged
) 
编辑好的,这显然行不通。这个$paged 在运行查询之前,显然不会设置全局。

SO网友:bilal BOUASRIA

我只是wp_Query->paged 直接,效果很好,而不是get_query_var( \'paged\' ) 巫婆不适合我

结束

相关推荐

Pagination with custom loop

我的问题可能是Pagination not working with custom loop, 但有一种不同。我使用自定义循环来显示flash游戏。我想按类别在游戏页面上分页。类别php:<?php if ($cat) { $cols = 2; $rows = 4; $paged = ((\'paged\')) ? get_query_var(\'paged\') : 1; $post_per_page = $cols * $rows; // -1 s