Plugin – Feed Pull

Still looking for plugins to import and/or auto post from RSS feeds for a different blog.  This is the lastest failed plugin struggle: Feed Pull.

Feed Pull is one of the rare plugins that will pull in complete content and images, and as a draft.  Images are often a paid upgrade now.  (Lame.)  It looks well done, I do not know how well it works yet. – me

Usability is very poor:  This is an odd one.  It looks very promising and fairly simple, but I do not understand what info I need to enter.  It asks for things I’ve not heard of. “Enter an XPath to the posts within your feed.”  What?  I don’t know how the posts get published, or whatever this is asking for.

The developer’s website had nothing about the plugin.  WP.org page is only a description.  I managed to find a how-to on GitHub.  I posted that in the Feed Pull support forum, because there are many of us.  But it looks too heavy duty for my mind right now.  I’ve been trying RSS plugins for months – for various purposes.  I cannot bring myself to read this yet.  So it gets filed.

This is my thread on the Feed Pull support forum on WP.org:

Detailed instructions are on GitHub – see link (1 post)

https://github.com/tlovett1/feed-pull

I don’t think I’m up for this, not right now. It is helpful info in general. Worth knowing.

Copied from GitHub Feed Pull page

Setup Instructions

Upload and activate the plugin.
A “Feed Pull” settings page has been added as a sub-item of the “Settings” admin menu.
Make sure “Pull feeds” is set to yes. Feeds are syndicated using WordPress cron. This means your content will be pulled in the background. By default feed pulls occur once per hour.

Configure a Feed

After activating the plugin, you should now see a “Source Feeds” menu item in your admin menu. Add a new source feed.
Enter the URL of any XML feed in the feed url input box.
Enter an XPath to the posts within your feed. This tells the plugin where each piece of content lives in your feed. For most RSS feeds, channel/item will do just fine. Here is a bland tutorial if you want to learn more about XPath: http://www.w3schools.com/XPath/

Setup the new content to your liking. The defaults are good to start with.
Finally, we need to map fields in the feed to your new posts. Title and GUID are required. Title is self-explanatory. A GUID is a unique identifier for posts. Items within your feed should have some sort of GUID or permalink that you can map to the post GUID. GUID’s allow the plugin to determine if a piece of content has already been syndicated or not. There is an in-depth section on field mapping below.

Atom Feeds and Custom Namespaces

Sometimes feeds make use of prefixes on certain elements. This happens for a variety of reasons; one is to avoid conflicts. Prefixes should have a namespace defined somewhere using an “xmlns” attribute. Feed Pull lets you define custom namespaces. This feature is advanced and not needed in most cases.

However, certain feeds, like the Atom feeds outputted by WordPress define a document level namespace without a prefix. This is totally fine except it makes XPath queries difficult. Feed Pull should automatically detect if this situation is happening and create a namespace with the prefix “default” and the url “http://www.w3.org/2005/Atom”. You should use the prefix in your XPath queries. For example, instead of “//feed/entry”, your query should be “//default:feed/default:entry”. Instead of “title” in your field map, your query should probably be “default:title”.

You can learn more about namespaces here:http://www.w3schools.com/xml/xml_namespaces.asp

Field Mapping

When configuring a source feed, you need to tell Feed Pull which XML nodes map to where within WordPress. Here are the current mapping types supported by the plugin:

Post Field (Map content to fields within the post table)
Post Meta (Map content to fields within the post_meta table that refer to the post being created)
Taxonomy (Map content to terms in any taxonomy that relate to the post being created)
Let’s see these mapping types in action. Here is a super simple feed structure:

`
<channel>
<item>
<title>Post Title!</title>
<guid>http://yoursite.com/post-title</guid&gt;
<copyright>CNN.com</copyright>
<tag>United States</tag>
<tag>Politics</tag>
</item>
<item>
<title>Another Post!</title>
<guid>http://yoursite.com/another-post</guid&gt;
<copyright>CNN.com</copyright>
<tag>Celebrities</tag>
</item>
</channel>
`

As you can see our simple XML document contains two “items”. We installed Feed Pull because we want to create posts within WordPress for each of those items. Now we need to map XML nodes to places within each new post being created. Within the Field Mapping meta box there are two required mappings: Title and GUID. Therefore we MUST pick XML nodes in our feed to map to these things. For post_title, our “Source Field” will be “title”. For guid, our “Source Field” will be guid. Simple right?

Now we can map whatever nodes we want to post meta in our feed. For educationally purposes, let’s say we want to map “copyright” to post meta for each new post being created. To do this our “Source Field” would be “copyright”. Our new post location can be named whatever we want; let’s say “post_copyright”. For “Mapping Type”, we choose “Post Meta”.

Like post meta there are no required taxonomy mappings. Let’s create one anyway! We want the “tag” nodes in our feed to map to the “post_tag” taxonomy in WordPress. Therefore we create a new field mapping row with “tag” as “Source Field”, “post_tag” as “New Post Location”, and “Taxonomy” as “Mapping Type”.

https://wordpress.org/plugins/feed-pull/

Plugin – Feed Pull was originally published on WP.org Struggles – The Site

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s