生成除一类帖子之外的所有帖子的提要

时间:2013-08-15 作者:Jules

我的第一个WP主题基于一个空白/样板主题,该主题使用此代码生成首页帖子提要(通常出现在大多数WP主题中):

<?php while ( have_posts() ) : the_post() ?>
<?php get_template_part( \'entry\' ); ?>
<?php comments_template(); ?>
<?php endwhile; ?>
我有一类帖子,我不想在这个feed中显示。知道类别的ID号和要包含的类别ID的范围后,获取提要以排除一类帖子的最简单方法是什么?

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

我认为您可以在编码方面做得更简单。只需将以下内容添加到functions.php 主题文件夹中的文件。

function myFeedExcluder($query) {
  if ($query->is_feed) {
      $query->set(\'cat\',\'-73,-9\');  // categories 73 and 9 are being excluded
      }
  return $query;
}
add_filter(\'pre_get_posts\',\'myFeedExcluder\');
请特别注意,可以通过使用逗号分隔多个类别来排除它们。

这是the codex page on customizing feeds, 但它并没有专门针对这种情况。

SO网友:Milo

使用pre_get_posts 将查询发送到数据库之前修改任何查询参数的操作。

Codex页面上的一个示例应该适合您,只需更改cat 要排除的类别ID的参数,前缀为- 减:

function exclude_category( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'cat\', \'-1\' );
    }
}
add_action( \'pre_get_posts\', \'exclude_category\' );

结束

相关推荐

FETCH_FEED函数适用于模板index.php,但不适用于plugin/wp-admin

我正在使用fetch\\u feed,基本上拥有与所提供的伟大示例相同的代码here但我是从内容中创建新帖子,而不是事后显示。我看到的错误有:Warning: include_once(ABSPATHWPINC/feed.php) [function.include-once]: failed to open stream: No such file or directory in /home/user/public_html/test/wp-content/plugins/rss-plugin/rss-