从WP-feed中排除特定帖子

时间:2012-03-10 14:49:20

标签: wordpress video jwplayer

我知道您可以使用以下网址生成Feed:?cat = 3& feed = rss2

你可以通过在前面加一个减号来切换它以排除类别3:?cat = -3& feed = rss2

但是,看起来你的帖子看起来不一样吗?我正在使用JW视频播放器,并已加载相关的插件。相关插件可以使用rss-feed(媒体rss)作为参数,因此它可以链接到相关的其他视频/ wordpress帖子。

我的问题是,目前这意味着有效视频也会显示在相关的视频供稿中。

解决此问题的最佳解决方案是什么?我的目标是在将来创建自己的RSS Feed生成器,但是现在我只想保持简单并使用wordpress创建的生成的feed。有没有一种简单的方法来添加对名为post的url参数的支持?然后它可以使用post = -7来排除在feed中显示id为7的帖子。

或者有更好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

而不是解释机制 - 有很多插件只是为了.. 我知道的是:

StelthPubish

编辑我

我不知道网址 - 但您可以尝试使用

function ok9_feed_filter($query) {
    if ( !$query->is_admin && $query->is_feed) {
        $query->set('post__not_in', array(15, 6) ); // page /post id
    }
    return $query;
}
add_filter( 'pre_get_posts', 'ok9_exclude_filter' );

或者

function ok9_feed_exlude($where, $wp_query = NULL) {
    global $wpdb;
    if ( !$wp_query )
        global $wp_query;
    if ($wp_query->is_feed) {
        // exclude post id 
        $where .= " AND $wpdb->posts.ID NOT IN (15, 6)";
    }

    return $where;
}
add_filter( 'posts_where','ok9_feed_exlude', 1, 2 );

如果您不想在函数中使用固定ID,您可以随时在要排除的帖子中添加自定义字段,并在查询中使用该字段。

答案 1 :(得分:0)

您可以使用功能

    function exclude_category($query){
    if ( $query->is_home  || $query->is_feed || $query->is_archive ) {
        $query->set('cat', '-1');
    }
    return $query;
    }
    add_filter('pre_get_posts', 'exclude_category');

see'a