Do you want to show content only to RSS subscribers in WordPress?
RSS (Really Simple Syndication) may not be as popular as social media, but some people still use it to stay up-to-date on their favorite blogs. If you have RSS subscribers, then you can offer them exclusive content.
In this article, we will show you how to hide content from general users and only show it to RSS subscribers in WordPress.
Why Show Exclusive Content to WordPress RSS Subscribers?
Offering exclusive content to RSS subscribers can be a win-win for your WordPress website.
For readers, it gives them a reason to subscribe to your RSS feed, ensuring they never miss your latest content. This could be anything from early access to new podcasts or an exclusive giveaway to win exciting prizes.
As a website owner, rewarding reader loyalty can keep users engaged and coming back for more, which can be helpful for new websites trying to build a following.
With that in mind, let’s see how you can show content only to RSS subscribers in WordPress.
How to Show Content Only to RSS Subscribers in WordPress
This tutorial requires adding custom code to WordPress, specifically in your functions.php file. To make the process safe and beginner-friendly, we will be using WPCode instead of editing the file directly.
WPCode is the best code snippet plugin on the market. It lets you easily add code snippets to your website without dealing with your WordPress theme files directly. This way, there’s a lower chance of you breaking your website or causing a huge error.
Before you follow any of the methods below, make sure to install the WPCode plugin first. Both the pro and free versions of the plugin will work for this tutorial.
For step-by-step instructions, check out our beginner’s guide on how to install a WordPress plugin.
All of the tutorials below use the same steps, but the code itself will be different, depending on the use case you pick.
After you install the plugin, you need to go to Code Snippets » + Add Snippet from the WordPress dashboard. Then, select ‘Add Your Custom Code (New Snippet)’ and click the ‘Use snippet’ button.
Now, you can follow one of the WordPress tutorials below. Feel free to use these quick links to skip to the method you want to use:
If you want to create a regular blog post but include an exclusive content snippet just for your RSS subscribers, then you can use this method.
This code will hide a special post content snippet from your regular visitors and show it to your RSS subscribers only.
First, give your code snippet a name, like ‘Show Specific Content for RSS.’ Then, change the Code Type to ‘PHP Snippet.’
After that, go ahead and add the following code into the Code Preview box:
function wpb_showcontent_rss( $atts, $content ) {
if ( is_feed() )
return $content;
}
add_shortcode( 'showcontentrss', 'wpb_showcontent_rss' );
This function checks if the current request is for an RSS feed. If it is, then the function will display the content that’s specified in the [showcontentrss]
shortcode tags.
Once the code is added, just scroll down to make sure that the Insert Method is ‘Auto Insert’ and the Location is ‘Run Everywhere.’
Then, click the ‘Inactive’ toggle so that it becomes ‘Active,’ and hit the ‘Save Snippet’ button.
Now, go ahead and open the Gutenberg block editor to create a new WordPress post. Try adding blocks to it as usual.
Then, anywhere on the page, click the ‘+’ add block button and select the Shortcode block.
Inside your new shortcode block, just add the [showcontentrss]
and [/showcontentrss]
tags. After that, you can write some content in between those tags.
In our example, we wrote: [showcontentrss]Save 50% off on WPForms with this exclusive WPForms coupon code: SAVE50[/showcontentrss]
For more information, check out our beginners’ guide on how to add a shortcode in WordPress.
Once that’s done, just publish the post. When you visit your WordPress site like a regular visitor, you won’t see the content wrapped inside the shortcode.
However, if you open the WordPress blog post from an RSS feed reader, you will see it:
Do you want to hide an entire blog post from your regular visitors and only show it to your RSS subscribers? If so, then you can simply follow this method.
The first step is to give your snippet a name, like ‘Exclude Specific Posts for RSS.’ Make sure to also change the Code Type to ‘PHP Snippet.’
Now, you will need to copy this code and paste it into the Code Preview box:
function excludePosts($query) {
// Check if the query is for the home page or an archive page
if ($query->is_home() || $query->is_archive()) {
// Specify the IDs of the posts you want to exclude
$excludedPosts = array(1, 2, 3); // Replace 1, 2, 3 with the IDs of the posts you want to exclude
$query->set('post__not_in', $excludedPosts);
}
return $query;
}
add_filter('pre_get_posts', 'excludePosts');
This function specifies the IDs of the posts you want to exclude from general viewing and show to RSS subscribers only. Make sure to replace the ID numbers with your chosen post IDs.
If you are not sure where to find your post IDs, you can read our article on how to find post, category, tag, comments, or user ID in WordPress.
Once that’s done, just scroll down to make sure that the Insert Method is ‘Auto Insert’ and the Location is ‘Run Everywhere.’ Then, make the code ‘Active,’ and click the ‘Save Snippet’ button.
If the code works, then you won’t see your blog posts when viewed in your browser, but you’ll be able to see them in an RSS reader.
Note that every time you publish a special blog post for RSS subscribers, you will need to update the array of post IDs in the code snippet. But, if you are not planning to add any new ones, then you don’t need to do anything else.
You can use this final method if you decide to group your RSS-only blog posts into one category. The benefit of this option is that you don’t have to update the code each time you create a new blog post for RSS subscribers.
Like before, make sure to give your code snippet a name (like ‘Exclude Post Categories for RSS’) and change the Code Type to ‘PHP Snippet.’
Then, insert the following code into the Code Preview box:
function excludeCategory($query) {
// Check if the query is for the home page or an archive page
if ($query->is_home() || $query->is_archive()) {
// Exclude posts from a specific category by ID
$query->set('cat', '-1'); // Replace '1' with the ID of the category you want to exclude
}
return $query;
}
// Hook the function to the 'pre_get_posts' filter
add_filter('pre_get_posts', 'excludeCategory');
This function specifies the ID of the categories you want to exclude from the public and display in an RSS reader only. Before you activate this code, make sure to replace the ‘1’ with the category ID and leave the ‘-‘ dash sign as is.
When you are done, move down the page to make sure that the Insert Method is ‘Auto Insert’ and the Location is ‘Run Everywhere.’ After that, go ahead and make the code ‘Active’ and click ‘Save Snippet.’
You will know that your code is a success if you cannot see the blog posts in that category when you view them in a browser, but you can see them as feed items in an RSS reader.
Now that we have shown you how to show content only to RSS subscribers in WordPress, let’s dive into some common questions about WordPress RSS feeds.
Are RSS feeds still popular?
RSS might not be the hottest trend, but many people still use it to stay up-to-date on their favorite websites. Think of it as a way to get notified about new posts without checking each site individually.
What are the benefits of WordPress RSS feeds?
The first benefit is new post notifications. Subscribers can get automatic alerts whenever you publish new content, ensuring they never miss one of your posts.
The second advantage is that RSS feeds can help with WordPress SEO (search engine optimization). They can signal to search engines that your website is constantly updated with fresh content.
You can check out our quick and easy tips to optimize your WordPress RSS feed for more information.
Where can you find your RSS feed URL in WordPress?
Most of the time, WordPress will have already added an RSS feed for your website. You only need to access it by adding /feed
at the end of your domain name. Sometimes, you may have to add /index.php/feed
if the first option doesn’t work.
How do I allow users to subscribe to my website’s RSS feed?
One of the best ways to allow users to subscribe to your website’s RSS feed is by using email marketing services like Brevo. This platform can connect to your website’s feed and send email notifications whenever you publish something new.
From there, you can connect the email marketing platform with a form plugin like WPForms to create a subscription form on your site.
For more information, see our article on how to notify subscribers of new posts in WordPress.
We hope this article helped you learn how to show content only to RSS feed subscribers in WordPress. You may also want to see our expert pick of the best RSS feed plugins for WordPress and our step-by-step guide on how to boost your WordPress speed and performance.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Source: WPBeginner