WordPress分页在每个页面上显示相同的帖子

时间:2011-10-10 作者:Jason

我需要调整一个写得很糟糕的WP主题(一个在表中编写的自定义主题,以及糟糕的代码)。

该主题有多个自定义模板,但未使用分页,使用get\\u posts代替query\\u posts-

    <?php query_posts(\'showposts=1\'); ?>
    <?php $posts = get_posts(\'numberposts=10&offset=0&category_name=albertsons, carrs, dominicks, genuardis, heb, kroger, pavillions, publix, randalls,safeway,shop-rite,tom-thumb,vons,whole-foods\'); foreach ($posts as $post) : start_wp(); ?>
    <?php static $count2 = 0; if ($count2 == "10") { break; } else { ?>

...

    <?php $count2++; } ?>
    <?php endforeach; ?>
我需要获得分页才能使用get\\u posts,或者将函数重写为仅使用query\\u posts,以便添加\'paged\' => get_query_var(\'page\')

当我试图重写为只使用query\\u帖子时,整个该死的东西都坏了。

有没有关于如何改进的想法?

谢谢

更新时间:

<?php 
global $wp_query;

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;


query_posts(array(\'posts_per_page\' => \'3\',\'paged\'=>$paged,\'category_name\'=>\'albertsons, carrs, dominicks, genuardis, heb, kroger, pavillions, publix, randalls,safeway,shop-rite,tom-thumb,vons,whole-foods\')); ?>
                    ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
它可以工作,但不分页。“旧帖子”将使用url page-2重新加载页面,但内容完全相同,这意味着显示的帖子与第一页上显示的帖子完全相同。

已解决-需要使用

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

您可以用以下内容替换代码

<?php
global $wp_query;
$limit = get_option(\'posts_per_page\');
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;


query_posts(array(\'posts_per_page\'=>$limit,\'paged\'=>$paged,\'category_name\'=>\'albertsons, carrs, dominicks, genuardis, heb, kroger, pavillions, publix, randalls,safeway,shop-rite,tom-thumb,vons,whole-foods\'));


/* you may want to uncomment the below two lines if you are using custom page template*/
//$wp_query->is_archive = true; 
//$wp_query->is_home = false;
然后拨打普通电话Post Loop 喜欢

if(have_posts()):
  while(have_posts()):the_post();
   the_content() ;//or so on
  endwhile;
endif; 
顺便说一句,我会建议反对query\\u posts/get\\u posts并使用WP_Query

希望能帮助您开始:)

结束

相关推荐

Broken category pagination

出于某种原因,下面的代码一直工作到我到达第三页并给出404。不使用任何插件就可以修复它吗?<?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(\'cat=\'. $id .\'&posts_per_page=4&paged=\'.$paged); while ($wp_query->have_posts()) : $wp_query