FeedWordPress

Featured

FeedWordPress is an open-source Atom/RSS aggregator for the WordPress blog publishing platform. You set up feeds that you choose, and FeedWordPress syndicates posts from those sources into your WordPress posts table, where they can be displayed by your WordPress templates like any other post — but with additional meta-data, so that your templates can properly attribute the post to the source it came from.

FeedWordPress was originally developed because I needed a more flexible replacement for Planet to use at Feminist Blogs. You can use FeedWordPress to create aggregator (Planet) sites that bring together posts from many different sources, using the WordPress templating engine to display posts from all around the web. Or you can use it to bring together all your online activity from your blog, Twitter, Flickr, or other online services, into a Lifestream with all your online activity in one place.

FeedWordPress is designed with flexibility, ease of use, and ease of configuration in mind. You’ll need a working installation of WordPress or WordPress MU (version 3.0 or later), and also FTP or SFTP access to your web host. You don’t need to tweak any plain-text configuration files and you don’t need access to shell or crontab on your web host to make it work. (Although, I should mention, web hosts that don’t offer shell access and cron jobs are bad web hosts.)

Version 2016.0420, my dudes.

So development on the public release of FeedWordPress has been slowed down for a while now, thanks to a combination of life stuff and academic obligations. But the Spring semester is over, I have the summer off of school, and I am trying to get caught up. Most immediately:

  1. I want to make sure that some changes that have been percolating up through the Github development branch of FeedWordPress over the last few months get committed to the official release branch of FeedWordPress in the WordPress plugins repository;

  2. I want to make sure that the official release branch of FeedWordPress in the WordPress plugins repository
    has been tested and rated for compatibility with the most recent releases of WordPress, up through the Version 4.5.2 security release;

  3. And I’m trying to get a little less backlogged on my support requests at the WordPress.org Forums, on issue reports at Github, and via email. This will take a while, but please be patient — I am making progress, and if you have a request pending but you haven’t heard from me yet one way or another, you probably will within a matter of days, even if it’s just a quick check-in to the effect of So, are you still having this problem?</q.

  4. Besides which, I also have this gorgeous new banner for the plugin that Wayne Drescher made for me, and besides giving props for a generous deed, I also have self-interested reasons for wanting to make the plugin’s repository page prettier.

banner-772x250

In any case, then, here’s a new public release of FeedWordPress, Version 2016.0420.

Some quick notes from the ChangeLog:

Changes in 2016.0420

  • WORDPRESS COMPATIBILITY: Tested with new versions of WordPress up to 4.5.2. If you see any breakages that I missed, please make sure to contact me via e-mail with as many details as you can offer on (1) what problem you’re seeing, (2) where you’re seeing it, (3) what you expected to see, and (4) what you’re seeing instead. If there’s something wrong with the handling of a particular feed, the URL of that feed would be extremely helpful for my ability to help you out with troubleshooting.

  • USE XPATH SQUARE-BRACKET SYNTAX FOR BETTER SELECTION OF CUSTOM XML ELEMENTS FROM FEED: If you use the special XPath-like syntax in Syndication > Posts & Links > Custom Post Settings to select custom XML elements from your feed and put them into a Custom Field on the imported post, — or if you use SyndicatedPost::query() to select elements in an add-on or filter — then your ability to pick out particular elements from the feed has just been improved a bit. FeedWordPress only implements a small subset of XPath syntax — so, for example, $(author/name) will select the author child element of the current post, and then the name child element under author, and replace the $(...) expression with the text content of that name element. And $(category/@term) will select all of the category elements, and get the contents of the term attribute from each one. But most of the fancy things you can do to select elements with XPath, you currently can’t do with this syntax. However, if an item has multiple child elements, you should now be able to select one particular element using XPath’s square-bracket syntax — so $(category[1]/@term) now will allow you to select only the first category element, and then get its term attribute; $(category[2]/@term) allows you to select term attribute of the second, and so on. Props to Wayne Drescher for generously sponsoring the development of this feature.

  • FILTERS AND ADD-ONS: Allow filters and add-ons to filter terms and taxonomy (categories, tags, custom taxonomies, etc.) more thoroughly and more fine-grainedly using syndicated_post_terms_match, syndicated_post_terms_match_{taxonomy}, syndicated_post_terms_unfamiliar, syndicated_post_terms_mapping, syndicated_item_feed_terms, and syndicated_item_preset_terms filters.

  • FILTERS AND ADD-ONS: Globals $fwp_channel and $fwp_feedmeta REMOVED. These global variables, originally introduced to allow filters access to information about the source feed in syndicated_item filters were deprecated 6+ years ago. If you have any filters or add-ons which still depend on these global variables, you’ve been using obsolete techniques and you should see about fixing them to access data about the source feed using the SyndicatedPost::link element instead. For documentation, see the FeedWordPress documentation wiki at http://feedwordpress.radgeek.com/wiki/syndicatedpost and http://feedwordpress.radgeek.com/wiki/syndicatedlink.

  • BUGFIX: The Syndication > Diagnostics HTTP diagnostic test widget was broken due to a dumb error on my part. Sorry about that. It’s now fixed.

  • SMALL CODING CHANGES: Lots of small changes to code organization, incorporation of some PHP 5.x coding conventions, etc.

More to come. I have a lot of smaller and larger items that I’m tinkering on, and I hope to follow this up with another public release, most likely to come out late in May or early in June.

As always

If you notice any problems, have any questions, need any help, or just want to say Hi, don’t hesitate to drop me a line via e-mail or through the comment form. If you have a specific problem that you need help with, please try to describe the circumstances and the problem you are seeing in as much detail as possible — what you expected to happen, what you see happening instead, what you are doing (if anything) when the error comes up. If the problem has to do with one or more particular feeds, it helps a lot to include the URL(s) of the feed or feeds that you’re seeing the problem with. If the problem has to do with an error message appearing that you do not understand, a screenshot of the error message would help a lot.

Now get on out there and check out the new release! Download and enjoy!