=== WP RSS Aggregator - Automatic and Powerful Content Aggregation and Curation ===
Contributors: RebelCode, jeangalea, markzahra, Mekku
Plugin URI: https://www.wprssaggregator.com
Tags: RSS import, RSS aggregator, feed import, content curation, feed to post, news aggregator, autoblog, rss to post, content syndication, feeds, rss feeds, rss importer, feed importer, post importer, news importer
Requires at least: 4.0 or higher
Tested up to: 5.5
Requires PHP: 5.4
Stable tag: 4.17.10
License: GPLv3

The most popular RSS aggregator for WordPress. Build a news aggregator with content from unlimited sources within minutes. Simple, robust & powerful.

== Description ==

WP RSS Aggregator is the original, most popular, and most robust plugin for importing, merging, and displaying RSS and Atom feeds anywhere on your site within minutes. Set up your feeds and let the plugin do the leg-work.

== Automatically import RSS feeds & display them on your site ==

* Import unlimited content from an unlimited number of sites.
* Manage all your content sources from a single page.
* Set each feed source to fetch new content automatically.
* Customise the [display templates](https://kb.wprssaggregator.com/article/457-templates) to match your website's design.
* Built-in [shortcode](https://kb.wprssaggregator.com/article/54-how-to-use-the-shortcode-to-display-feed-items) and [Gutenberg block](https://kb.wprssaggregator.com/article/454-displaying-imported-items-block-gutenberg) to display your feeds in seconds.
* RSS feed auto-discovery for sources with hard-to-find RSS feeds.
* Import Youtube videos and have them playable on your site.
* Limit the items stored and fetched for improved performance.
* Create a custom RSS feed from imported items to use elsewhere.
* Extendable via action and filter hooks.

[Learn more about the free version of WP RSS Aggregator.](https://www.wprssaggregator.com/extension/core-plugin/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_learn_more&utm_content=learn_more)

== Who is WP RSS Aggregator for? ==

Importing and displaying RSS feeds is a powerful tool for many website owners.

* Aggregator or curate news from the top sources in your market or niche to improve your SEO and build a better reputation.
* Show related content from other reputable sites to build a sense of trust with your readers.
* Since video content has become so popular, link to Youtube videos anywhere on your site to provide visitors with more reasons to stick around.
* Provide value to your readers by curating job openings, real estate listings, or other information to help them grow.
* Aggregate ever-popular podcast episodes related to the topic of your website to keep visitors engaged.
* Authors, writers, and other content creators, display a feed of your work from multiple sites in a single portfolio.

== Real-life case studies ==

Erik Tozier built up trust and credibility in the personal finance space by curating quality content for his readers, resulting in over 16,000 monthly page views within just 4 months. [Read the full case study](https://www.wprssaggregator.com/case-study-personal-finance-blogs-content-curation/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_case_study_pfb) or watch the video below.

[youtube https://www.youtube.com/watch?v=6kADte55kcY]

Ronald Heijnes has created a multilingual community within the WordPress space by aggregating the latest WordPress news from various sources in multiple languages. [Read the full case study](https://www.wprssaggregator.com/case-study-worldofwp-multilingual-news-aggregator/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_case_study_wow) or watch the video below.

[youtube https://www.youtube.com/watch?v=wGHNrSrz8BU]

=== More examples ===

* [WP News Desk](http://wpnewsdesk.com/) aggregates WordPress news, tutorials and more from over 100 trusted sources and organises them into categories automatically.
* [Travel Blogger Community](http://travelbloggercommunity.com/) does something similar to share incredible blog posts from well-known travellers around the world.
* [Crypto Headlines](https://cryptoheadlines.com/youtube-videos/)' videos section shares Youtube videos from popular Youtubers in the Crypto space to keep readers informed.
* [Euro Finance Blogs](https://eurofinanceblogs.com/) curates content on investment, personal finance, and early retirement, similar to Erik's story above.

Browse through our [**Showcase**](https://www.wprssaggregator.com/showcase/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_showcase) to see how WP RSS Aggregator is being put to great use on a large variety of WordPress sites, from CrossFit to celebrity news, and gaming to government updates.

== SEO benefits and other perks ==

By using WP RSS Aggregator you can increase your WordPress site's credibility and improve your SEO by importing full or partial posts, videos, and more with our [premium add-ons](https://www.wprssaggregator.com/pricing/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_seo_benefits).

* Become an instant source of quality content.
* Generate lots of new backlinks to your site.
* Enhance your online presence and gain more trust.
* And therefore, boost your SEO!

Find out more... [**Content curation and SEO: What you need to know**](https://www.wprssaggregator.com/is-content-curation-good-for-seo/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_seo_benefits)

*A word of advice: Don't steal other people's work; give credit where it's due. WP RSS Aggregator makes it super easy to automatically link to the original source every single time.*

== Premium features ==

WP RSS Aggregator can be extended through its powerful [premium add-ons](https://www.wprssaggregator.com/extensions/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_premium_features) and [discounted plans](https://www.wprssaggregator.com/pricing/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_seo_benefits).

* **[Feed to Post](https://www.wprssaggregator.com/extension/feed-to-post/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_f2p_link&utm_content=f2p_link)** is the most powerful add-on available, enabling you to import feeds into WordPress Posts or any other custom post type. It includes options such as automatically assigning a post type, the post status, categories, tags, images, authors, and more.
* **[Full Text RSS Feeds](https://www.wprssaggregator.com/extension/full-text-rss-feeds/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_ftr_link&utm_content=ftr_link)** takes Feed to Post to the next level by connecting it to our premium full text service. This helps bring in content from sources that don't provide it in their RSS feeds. It's especially useful when missing certain important images or other content.
* **[Templates](https://www.wprssaggregator.com/extension/templates/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_f2p_link&utm_content=f2p_link)** offers premium template types including the fully customisable Grid as well as an Excerpts & Thumbnails template that take your block or shortcode displays to a whole new level.
* **[Keyword Filtering](https://www.wprssaggregator.com/extension/keyword-filtering/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_kf_link&utm_content=kf_link)** enables you to filter the content imported from any source based on keywords, phrases and/or tags.
* **[Categories](https://www.wprssaggregator.com/extension/categories/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_cat_link&utm_content=cat_link)** provides a simple way to categorise your sources and keep them organised.
* **[WordAi](https://www.wprssaggregator.com/extension/wordai/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_cat_link&utm_content=cat_link)** and **[Spinner Chief](https://www.wprssaggregator.com/extension/spinnerchief/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_cat_link&utm_content=cat_link)** integrate the Feed to Post add-on with the respective 3rd-party content spinning services.

== We stand behind what we build ==

Our comprehensive [Knowledge Base](https://kb.wprssaggregator.com/) provides you with everything you need to install, set up and customise the plugin to your needs. You can also browse through a number of FAQs to get started.

If that doesn't do the trick, we provide support for the free version of WP RSS Aggregator via the support forum [here](https://wordpress.org/support/plugin/wp-rss-aggregator), while for premium support (owners of valid premium add-on licenses) and pre-sales questions please contact us via our [premium support channel](https://www.wprssaggregator.com/contact/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_contact_link&utm_content=contact_link).

Our plugin also includes a Help Beacon within your dashboard through which you can search our knowledge base without ever leaving your website.

== Additional information ==

We provide a [Feed Creator](http://createfeed.wprssaggregator.com/) service that allows you to generate RSS feeds from any webpage, even if it doesn't have its own RSS feed. It provides inline documentation on how to use the service.

Our terms & conditions can be found [here](https://www.wprssaggregator.com/terms-conditions/).

== High praise from trusted WordPress leaders ==

* [WP Mayor](http://www.wpmayor.com/rss-feeds-review-wp-rss-aggregator/)
* [WPBeginner](https://www.wpbeginner.com/showcase/best-news-aggregator-websites-how-to-build-your-own/)
* [OSTraining](https://www.ostraining.com/blog/wordpress/wp-rss-aggregator/)
* [Toolset](https://toolset.com/2019/03/import-content-post-typewp-rss-aggregator/)
* [WP Explorer](https://www.wpexplorer.com/wp-rss-aggregator-review/)
* [MH Themes](https://mhthemes.com/blog/create-news-aggregator-site-with-wordpress/)
* [WPulsar](http://www.wpulsar.com/wp-rss-aggregator-plugin-feed-to-posts-keyword-filtering-review/)
* [MobiLoud](https://www.mobiloud.com/blog/wordpress-rss-aggregator/)
* [Cloudways](https://www.cloudways.com/blog/wp-rss-aggregator-plugin-rss-feed-importer-autoblogging-plugin/)
* [WPKube](http://www.wpkube.com/wp-rss-aggregator-wordpress-review/)
* [Kevin Muldoon](https://www.kevinmuldoon.com/wp-rss-aggregator-review/)

== Installation ==

How to install and set up the WP RSS Aggregator plugin:

Method 1:

> 1. Go to the Plugins page in your WordPress site's dashboard.
> 2. Click the "Add New" button.
> 3. Search for "WP RSS Aggregator".
> 4. When found, click on the "Install" button, then hit the "Activate" button once it has installed.
> 5. Go to the RSS Aggregator menu item, then set up your [feed sources](https://docs.wprssaggregator.com/adding-a-feed-source-importing-as-feed-items/), [templates](https://kb.wprssaggregator.com/article/457-templates) and [general settings](https://docs.wprssaggregator.com/general-plugin-settings/).

Method 2:

> 1. Click on the "Download" button above.
> 2. Upload the wp-rss-aggregator.zip file to your site's `/wp-content/plugins/` directory via FTP.
> 3. Activate the WP RSS Aggregator plugin from the 'Plugins' section in your dashboard.
> 4. Go to the RSS Aggregator menu item, then set up your [feed sources](https://docs.wprssaggregator.com/adding-a-feed-source-importing-as-feed-items/), [templates](https://kb.wprssaggregator.com/article/457-templates) and [general settings](https://docs.wprssaggregator.com/general-plugin-settings/).

*DISPLAYING THE FEED ITEMS*

Use the WP RSS Aggregator block or shortcode on any page or post to display the imported items.

Shortcode: `[wp-rss-aggregator]`

Each block or shortcode can use any template and it can also have its own [parameters](https://kb.wprssaggregator.com/article/54-displaying-imported-items-shortcode), such as selecting which sources to display items from, the maximum number of items to display, whether to use pagination, which page to show, and more.

Shortcode example with parameters: `[wp-rss-aggregator source="123" limit="5"]`

It is advisable to use the 'HTML' view of the editor when inserting shortcodes with parameters.

*USAGE WITHIN THEME FILES*

Here are two examples of a function call from within a theme's files:
`
<?php
wprss_display_feed_items( $args = array(
	'limit' => '8',
	'source' => '5,9'
	));
?>
`

OR

`<?php do_shortcode('[wp-rss-aggregator]'); ?>`


== Frequently Asked Questions ==

= What feed sources can I import items from? =

Any source with a valid RSS or XML feed can have its feed items imported by WP RSS Aggregator. Most sites provide RSS feeds right out the box as shown [here](https://kb.wprssaggregator.com/article/55-how-to-find-an-rss-feed). If you can't find an RSS feed, you may try to create one using [our free service](http://createfeed.wprssaggregator.com/).

- - -

= How do I display the imported feed items? =

Use the template of your choice to display imported items anywhere across your site. To show the items, you can use either one (or a combination) of the options below.

* Option 1: Use our [shortcode](https://kb.wprssaggregator.com/article/54-displaying-imported-items-shortcode) in your posts and pages: `[wp-rss-aggregator]`
* Option 2: Use our [block](https://kb.wprssaggregator.com/article/454-displaying-imported-items-block-gutenberg) in the Gutenberg editor (WP 5.0 and later)
* Option 3: Call the function directly within a theme: `<?php wprss_display_feed_items(); ?>`

- - -

= Is there a limit on the number of feed sources I can set up? =

No, there is no limit for the number of feed sources to import items from. Having many (50+) feed sources should not present any problems in itself. However, pulling in posts from many sites is bound to put your server under some stress, so you might want to consider using a hosting solution that goes beyond your typical shared host and [staggering the feed imports](https://kb.wprssaggregator.com/article/200-scheduling-fetching-of-feeds-imports-for-better-performance).

Check out our dedicated page on [WordPress hosting](https://www.wprssaggregator.com/recommended-web-hosts/?utm_source=wordpress-dot-org&utm_medium=readme&utm_campaign=readme_q-and-a_hosts&utm_content=q-and-a_hosts) recommendations (includes some affiliate links).

- - -

= Does WP RSS Aggregator work using JSON as the source? =

No, our plugin does not currently import from JSON, it only imports from RSS and Atom structured XML.

- - -

= Why do I get "No feed items found" when I insert the shortcode on a page or post? =

1. Try adding a few more feed sources and make sure they are valid by using the RSS Feed Validator.

2. Make sure that feed items have been imported by visiting the Feed Items page.

3. Try out the solutions listed in our [Feed Items Not Importing](https://kb.wprssaggregator.com/category/80-feed-items-or-posts-not-importing) knowledge base section.

4. It's important to make sure your WordPress cron system is working well. If not, the feeds cannot be imported. If in doubt, you can install the WP Crontrol plugin to check for [bad cron](https://docs.wprssaggregator.com/cron-intervals/#bad-cron), or go to RSS Aggregator > Debugging and hit the red button to re-import all feed items.

If the problems persist, please [contact our support team](https://wordpress.org/support/plugin/wp-rss-aggregator). If you're using a premium add-on, please use the [premium support channel](https://www.wprssaggregator.com/contact/).

- - -

= Can I store imported feed items as posts? =

Yes, you can do that using the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to-post) premium add-on. You will not only be able to store items as posts, but as any post type. You can also set the author, set tags and categories, import images into the gallery or set featured images, and much more. These can then be displayed in your theme's blog page, via a page builder, etc.

- - -

= Some RSS feeds only give a short excerpt when using the add-ons. Any way around that? =

Yes, along with the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to-post) add-on we have another add-on called [Full Text RSS Feeds](http://www.wprssaggregator.com/extension/full-text-rss-feeds/) that can get the full content of most feeds that only supply a short excerpt. The Full Text RSS Feeds add-on requires Feed to Post and a valid license key to function.

- - -

= I'm not sure which premium add-ons are right for me. Can you help me out? =

Sure! We built an [add-on finder (guide)](https://www.wprssaggregator.com/add-on-finder/) that will help determine what you need.

If you need any further help you can [contact our support team](http://www.wprssaggregator.com/contact/).

- - -

= Where can I find the documentation for the plugin? =

Our complete Knowledge Base with FAQs can be found [here](https://kb.wprssaggregator.com/).


== Screenshots ==

1. Feed items displayed using WP RSS Aggregator's templates.

2. Setting up the WP RSS Aggregator Gutenberg block.

3. Adding/Editing a feed source in WP RSS Aggregator.

4. The list of feed sources in WP RSS Aggregator.

5. The list of imported feeds items in WP RSS Aggregator.

6. Setting up a template in WP RSS Aggregator.

7. The general settings for WP RSS Aggregator.

8. Using the Feed to Post premium add-on to import items as posts.

9. Using the Feed to Post premium add-on to import Youtube videos.


== Changelog ==

= 4.17.10 (2020-12-01) =
**Fixed**
- After updating the Templates add-on from v0.2, the add-on would be deactivated.

= 4.17.9 (2020-11-25) =
**Changed**
- Auto image detection is now able to find the feed channel image.
- SimplePie auto-discovery is turned off when the "Force feed" option is enabled.
- The Feed Source post type is no longer public.
- Meta box styling has been updated to match WordPress 5.3's updated styles.

**Fixed**
- Removed referer header from feed requests, fixed importing for some feeds.
- Feeds that contain items without titles no longer only import just the first item.
- Cron jobs are properly added/removed when the plugin is activated/deactivated, respectively.
- Problems with the default template no longer trigger a fatal error.

= 4.17.8 (2020-10-06) =
**Changed**
- Disabled SimplePie's HTML sanitization.
- Updated jQuery code to be compatible with the upcoming update in WordPress.
- Images without an extension can now be imported.
- The image importing function now allows the image URL and local path to be changed via filters.
- Changed how item importing is logged in the debugging log. The log now shows what hooks can reject an item.

**Fixed**
- WooCommerce Product type dropdown and accompanying options disappear while WP RSS Aggregator is active.
- Addressed notices about `register_rest_route` being called incorrectly.
- The "Validate feed" link did not work.
- Sites on a multi-site network would see an error about a function not existing.
- Errors would not be properly rendered for non-fatal notices and warnings.

= 4.17.7 (2020-08-12)
**Added**
- New HTML classes for pagination buttons.

**Fixed**
- The featured image when using the Feed to Post add-on was not being saved.

**Changed**
- FeedBurner feeds no longer need to have "format=xml" at the end of the URL.

= 4.17.6 (2020-07-29) =
**Added**
- A link in the New/Edit Feed Source page on how to find an RSS feed.

**Changed**
- The "Force feed" option turns off SSL verification.
- Improved wording on the Help page.
- Dates in templates can now be translated.
- The link to the article on how to find an RSS feed now links to an article from the plugin's knowledge base.
- The "Unique Titles" feed option can now be set to default to the global setting.

**Fixed**
- Rewrite rules would always get flushed when plugins tamper with them, such as Polylang Pro.
- The "Delete All Imported Items" reset option was deleting all posts on the site.
- Image options would not show up when using Feed to Post to import Feed Items.

= 4.17.5 (2020-04-22) =
**Changed**
- Now showing a case study of a site using the Pro Plan in the on-boarding wizard.
- Licenses are now managed by the main site. Child sites do not have access to the licenses page.

**Fixed**
- The custom feed did not include items imported as posts or other post types.

**Removed**
- Temporarily disabled the "What's New" page.
- Removed the integration with Lorem on the "Help & Support" page.
- Removed the integration with Lorem on the "More Features" page.

= 4.17.4 (2020-03-16) =
**Changed**
- The default template is now created based on type, not slug.

**Fixed**
- Templates could not be saved if the request contained extra form data.
- The default template would be copied multiple times if a post on the site had the "default" slug.
- Feed item title did not escape HTML entities correctly.
- Source name and link were sometimes incorrect in the custom feed.
- Undefined index during error handling.
- Better error messages when an error occurs.

= 4.17.3 (2020-01-23) =
**Changed**
- Updated code to fix deprecation warnings on PHP version 7.4 and later.
- Updated the Twig library to version `1.41.0` to fix deprecation warnings on PHP version 7.4 and later.
- Updated the default translation files to contain up-to-date text.

**Fixed**
- Removed a false-positive error from the log.
- Localization in Twig templates did not work.
- When revisions are enabled, an error would prevent feed sources from being saved.
- Translations were being loaded from an invalid path.
- The default featured image in the New/Edit Feed Source page did not preview after saving the feed source.
- Missing space between the link `a` tag and the `href` attribute on PHP 7.4

= 4.17.2 (2019-12-19) =
**Added**
- The error handler now includes the file and line where the error occurred.

**Changed**
- The obsolete "Link Source" option is now only shown when the Excerpts & Thumbnails add-on is active.

**Fixed**
- The new "feeds" shortcode parameter only showed feed items for the first 10 feed sources.

= 4.17.1 (2019-12-12) =

**Fixed**
- The new slug option was appearing on the edit pages for posts of all types.

= 4.17 (2019-12-11) =

**Added**
- New "Tools" that replaces the "Blacklist", "Import/Export" and "Debugging" pages.
- New option to control whether items with future dates are scheduled or published with truncated dates.
- New "feeds" shortcode parameter to select feed sources by their slug names.
- New "1 week" update interval option to update feeds once every week.
- The "Edit Feed Source" page now allows the slug to be edited.
- The "Edit Feed Source" page now shows shortcode snippets.

**Changed**
- RSS feeds that are invalid due to leading whitespace are now trimmed and may now be imported.
- Images that have the same URL are now downloaded to the media library only once.
- Updated some styles to match the new WordPress 5.3 aesthetic.
- Optimized template saving to be more performant and less error prone.
- Improved error messages in REST API responses.
- Removed some log messages.
- Fatal errors are now always logged.
- Optimized cron-related functionality.
- The plugin will no longer register cron schedules that already exist.
- License-related notices are now only shown to users who have access to the Licenses settings page.

**Fixed**
- The "Import Source" option did not work.
- Templates now link imported posts to the local post instead of to the original article.
- Images with HTML entities in the URL could not be downloaded.
- Feed items without a PolyLang translation did not show up in templates.
- PHP notices were triggered when trying to download invalid images.
- The feed item count in the "Feed Sources" page would show zero when certain add-ons are installed.
- Removed a warning shown in templates about `reset()` expecting an array.
- Thumbnails imported by Excerpts & Thumbnails were not shown in templates.
- Some databases would report the following error during logging: "Column 'date' cannot be null".
- Unserializing the options for the system info triggered PHP notices.
