trouble with my loop

时间:2012-09-16 作者:Jamie

我正在尝试从我的博客页面中排除类别。我已经把代码都设置好了,根据法典,这应该行得通

 $string = \'-\' . implode( \',-\', explode( \' \', $data[\'exclude_categories\'] ) );
测试时,上述行会将其打印到屏幕上

-主页-最新新闻

这是我试图从博客页面中删除的两个测试类别。然后我像这样开始我的查询

 <?php query_posts($query_string .  \'&cat=\' . $string);?>
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?> 
 my other code stuff here
当我测试博客页面时,所有的帖子都会显示出来。我想不出怎么了。

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

cat 接受类别ID,而不是slug或名称。这里更好的方法是使用pre_get_posts 行动,Codex页面an example 这正是你想要做的。

结束

相关推荐

为什么‘EXCLUDE_FROM_SEARCH’从WP_QUERY中排除自定义帖子类型?

在WP 3.1中,似乎设置\'exclude_from_search\' = TRUE 对于自定义帖子类型,不仅从前端的搜索中排除帖子类型,而且从使用\'post_type\' = \'all\'.我可以想象很多情况下,插件开发人员希望访问所有帖子类型,甚至是那些被排除在前端搜索之外的帖子类型。这是一个bug,还是只是文档记录不足?背景故事:我有一个自定义的帖子类型,使用自定义的“帖子到期日期”字段。为了自动取消发布过期的自定义帖子,我创建了一个内容过期插件,该插件使用wp\\u schedule\\u