分页不使用WP_QUERY

时间:2015-03-08 作者:Shoelaced

我已经设置了一个自定义循环,它工作正常,但不会显示分页链接。在进行了一些搜索之后,我了解到分页链接(因为我在这里使用了它们,但我不知道还有其他方法)只支持原始循环,但我遇到的所有“解决方案”都告诉我,如果我在wp\\u查询中显式声明$paged参数,它应该可以工作,如果没有,我应该使用query\\u posts。这似乎是一个含糊不清的答案,我想知道如何使其与WP\\U查询一起工作,因此下面是我从各种来源拼凑而成的代码:

<?php
global $paged;
$paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1;
$blogquery = new WP_Query(\'&post_type=post&post_status=publish&posts_per_page=1&paged=\'.$paged);
  if ( $blogquery->have_posts() ) { echo \'<h2 class="h-bord">\'; _e(\'Posts:\',\'abdtrans\'); echo \'</h2>\';
    while ( $blogquery->have_posts() ) { $blogquery->the_post(); ?>
        <div class="post-single">
            <!---- [POST CONTENT] ---->
        </div>
<?php } } ?>

<div class="oldernewer">
<p class="older"><?php next_posts_link(__(\'&laquo; Older Entries\', \'abdtrans\')) ?></p>
<p class="newer"><?php previous_posts_link(__(\'Newer Entries &raquo;\', \'abdtrans\')) ?></p>
</div>

<?php wp_reset_query(); ?>
有什么想法吗?谢谢你的帮助!

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

您很可能没有在静态首页上这样做,所以您的paged 参数使用了错误的值。静态首页使用get_query_var( \'page\' ) 要计算分页,所有其他页面都使用get_query_var( \'paged\' )

您还需要设置$max_pages 中的参数next_posts_link. 如果没有这些,您的链接将无法显示

<p class="older"><?php next_posts_link(__(\'&laquo; Older Entries\', \'abdtrans\')) ?></p>
应该是

<p class="older"><?php next_posts_link(__(\'&laquo; Older Entries\', \'abdtrans\'), $blogquery->max_num_pages) ?></p>
最后一句话,你永远不应该回到query_posts. 它破坏的东西比“修复”的东西多

结束

相关推荐

Stuck in the query loop

我在WordPress页面中创建了一个双循环。它应获取类别名称,并应加载类别名称下的所有子级。像这样____Cat1类______产品1产品2产品3____Cat2类______产品1产品2产品3所以问题是,当产品在循环时,类别名称也在循环,所以如果我有3个产品在cat名称下,我也会有3个cat名称。这是我的代码:<div class=\"pr_grid_cell clearfix\"> <?php //for each category, show posts