最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to add filter in custom rss feed

programmeradmin2浏览0评论

I have this code for my 2 custom rss feeds:

add_action( 'init', 'custom_feeds' );
function custom_feeds()
{
    foreach( array( 'custom1', 'custom2' ) as $name )
    {
        add_feed( $name, 
            function() use ( $name )
            {
                get_template_part( 'rss', $name );  
            }
        );
    }
}

function feedFilter($query) {
    if ($query->is_feed) {
        $query->set('cat', '7');
        $query->set('posts_per_page','5');
    }
    return $query;
}
add_filter('pre_get_posts','feedFilter');

I wanted to put filter on custom2 only, like filter the feed by category 7 only; But my filter is affecting all the rss feeds.

I have this code for my 2 custom rss feeds:

add_action( 'init', 'custom_feeds' );
function custom_feeds()
{
    foreach( array( 'custom1', 'custom2' ) as $name )
    {
        add_feed( $name, 
            function() use ( $name )
            {
                get_template_part( 'rss', $name );  
            }
        );
    }
}

function feedFilter($query) {
    if ($query->is_feed) {
        $query->set('cat', '7');
        $query->set('posts_per_page','5');
    }
    return $query;
}
add_filter('pre_get_posts','feedFilter');

I wanted to put filter on custom2 only, like filter the feed by category 7 only; But my filter is affecting all the rss feeds.

Share Improve this question edited May 4, 2019 at 3:37 Fayaz 9,0172 gold badges33 silver badges51 bronze badges asked Jun 11, 2018 at 6:40 crissycrissy 35 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

As you can see from the source is_feed takes a parameter, so you should be able to restrict the query by using $query->is_feed('custom_rss2').

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论