自3.1.2更新以来出现的“重复”帖子

时间:2011-05-26 作者:Chris H

自从升级到WP 3.1.2后,我在一个客户端网站上遇到了一些问题,今天晚上我更新到了版本3.1.3,但发现问题仍然存在。

http://www.harmonyreins.com.au

该网站是为当地的一个动物庇护所服务的,每个帖子都代表了庇护所里生活的不同动物。有许多类别专门与动物类型相关,如狗、猫、马以及“最近收养”和“老朋友”类别。最后两个类别使用以下代码从完整的帖子列表中排除(在导航中的“会见帮派”下):

<?php query_posts($query_string . \'&cat=-10,-12\'); ?>
升级到WordPress 3.1.2(或附带的数据库更新,我不知道是哪一个)使此代码变得多余,被排除的帖子开始出现在“与帮派见面”部分。我enquired about the issue on WordPress.org, 建议进行以下修复:

克里斯,

替换主题索引中的以下内容。php

<?php query_posts($query_string . \'&cat=-10,-12\'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
使用

<?php query_posts(\'cat=-10,-12\'); ?>
<?php if ( have_posts() ) : while  ( have_posts() ) : the_post(); ?>
你应该表现得很好。

不幸的是,这导致了另一个问题,显示了第二页列表第一页的帖子(如果你访问该网站,你可以看到我的意思)。我尝试了多个分页插件,但没有成功。不管你在哪一页上,只会显示前十只动物。

我的客户在这个问题上做得很好,但这已经持续了好几个星期了,我真的需要解决它。希望有人能帮我。:-)

2 个回复
SO网友:Michael

您正在使用global $query_string; 在查询之前?所以整行看起来像:

<?php global $query_string; query_posts($query_string . \'&cat=-10,-12\'); ?> 
或者,您可以尝试:

<?php query_posts(\'cat=-10,-12&paged=\'.get_query_var(\'paged\')); ?>

SO网友:Jan Fabry

你的query_posts() 还应包含有关您所在页面的信息,例如通过传递paged 参数

但是做你自己的query_posts() 使用分页会导致问题。WordPress已经为您执行了一个查询,最好更改此查询。否则,WordPress可能会找到比您的查询更多或更少的帖子,这将打乱分页。

你能解释一下你的Meet the gang 页面是否有效?是一个带有加载帖子的特殊模板的页面吗?或者你使用的是静态首页,这是帖子页面吗?我会pre_get_posts 并在那里添加查询的正确类别部分。

结束