PluginProbe
FeedWordPress / 0.95
FeedWordPress v0.95
trunk 0.8 0.9 0.91 0.95 0.96 0.97 0.98 0.981 0.99 0.991 0.992 0.993 2008.1030 2008.1101 2008.1105 2008.1214 2009.0612 2009.0613 2009.0618 2009.0707 2009.1111 2009.1112 2010.0127 2010.0528 All 65 releases
← All changes | README.text +411 -55 0.80.95 View file →
@@ -1,9 +1,9 @@
1 1 FeedWordPress
2 2 =============
3 3
4 4 * Author: [Charles Johnson](http://www.radgeek.com/contact)
5 -* Version: 0.8
5 +* Version: 0.95
6 6 * Project URI: <http://projects.radgeek.com/feedwordpress>
7 7 * License: GPL. See License below for copyright jots and tittles.
8 8
9 9 Introduction
@@ -8,28 +8,26 @@
8 8
9 9 Introduction
10 10 ------------
11 11 FeedWordPress is an Atom/RSS aggregator for WordPress. It syndicates content
12 -from newsfeeds that you select; if you syndicate several newsfeeds then you can
13 -WordPress's posts database and templating engine as the back-end of an
14 -aggregation ("planet") website.
12 +from newsfeeds that you select into your WordPress blog; if you syndicate
13 +several newsfeeds then you can WordPress's posts database and templating engine
14 +as the back-end of an aggregation ("planet") website. I originally developed it
15 +because I needed a more flexible replacement for [Planet][] to use at
16 +[Feminist Blogs][].
15 17
16 -FeedWordPress is similar in conception to software such as [Planet][]--in fact,
17 -I started developing it because I needed a more flexible replacement for
18 -Planet at to run [Feminist Blogs](http://www.feministblogs.org/). Since it
19 -works on top of WordPress's database and templating system, however, it boasts
20 -far more flexibility than many other aggregators. It is also designed with ease
21 -of configuration and use in mind.
18 + [Planet]: http://www.planetplanet.org/ "Planet Planet"
19 + [Feminist Blogs]: http://www.feministblogs.org/
22 20
23 -You'll need a working installation of [WordPress 1.5][] and FTP or SFTP access
24 -to your web host. The ability to create cron jobs on your web host would be very
25 -helpful but it's not absolutely necessary. You *don't* need to tweak any
26 -plain-text configuration files and you *don't* need shell access to your web
27 -host to make it work. (Although, I should point out, web hosts that *don't*
28 -offer shell access are *bad web hosts*.)
21 +FeedWordPress is designed with flexibility, ease of use, and ease of
22 +configuration in mind. You'll need a working installation of [WordPress 1.5][]
23 +and FTP or SFTP access to your web host. The ability to create cron jobs on your
24 +web host would be very helpful but it's not absolutely necessary. You *don't*
25 +need to tweak any plain-text configuration files and you *don't* need shell
26 +access to your web host to make it work. (Although, I should point out, web
27 +hosts that *don't* offer shell access are *bad web hosts*.)
29 28
30 29 [WordPress 1.5]: http://wordpress.org/development/2005/02/strayhorn/
31 - [Planet]: http://www.planetplanet.org/ "Planet Planet"
32 30
33 31 Installation & Requirements
34 32 ---------------------------
35 33 You'll need a website with WordPress 1.5 installed and configured and FTP or
@@ -69,34 +67,71 @@
69 67
70 68 For detailed installation instructions, point your web browser to
71 69 <http://projects.radgeek.com/feedwordpress/install>.
72 70
73 -Feed Settings
74 -### Feed Settings ###
71 +Basic Concepts
72 +--------------
73 +FeedWordPress is written as a plugin for [WordPress 1.5][]. It is designed to
74 +store all the data it needs within the WordPress database and to make that data
75 +easy to manage from within the WordPress Dashboard.
75 76
76 -Once you have your links configured and regular feed updates scheduled, you can
77 -mostly leave FeedWordPress to run on its own. If you need to add, remove, or
78 -change information for any contributors, you can do so from the WordPress
79 -Dashboard under Links --> Syndicated. If you want to distribute the labor of
80 -adding, updating, and managing feeds, you can use the WordPress login and access
81 -privileges system. Users with an access level of 5 or greater can add or modify
82 -syndicated links, and change syndication options.
77 +### Contributors / Newsfeeds ###
83 78
84 -All the information for a syndicated feed is managed through the WordPress Links
85 -database. Feeds in the category to be syndicated (by default, "Contributors")
86 -use several fields of the standard WordPress Link record:
79 +FeedWordPress uses the WordPress Links database to keep a list of the feeds from
80 +which it will syndicate content. WordPress allows you to place links in
81 +categories; FeedWordPress will treat all and only the links in one category
82 +(by default, this is a category named "Contributors"; you can change the
83 +category that FeedWordPress will use using Options --> Syndication).
87 84
88 -- The Link URI is used to store a URI to the front page (*not* the feed!)
89 - of the syndicated website.
85 +From WordPress's perspective, the list of Contributors are normal links, and
86 +they can be manipulated like other links through the WordPress Dashboard. If
87 +you need to add, remove, or change information for any contributors, you can
88 +do so easily under Links --> Syndicated. If you want to distribute the labor of
89 +adding, updating, and managing feeds, you can use the WordPress login and
90 +access privileges system. Users with an access level of 5 or greater can add,
91 +delete, and modify Contributors; users with an access level of 6 or greater can
92 +change syndication options.
90 93
94 +When FeedWordPress looks for new posts, it does so by retrieving one or all of
95 +the links from the Contributors category (depending on whether it has been told
96 +to scan for new posts on one or all of the feeds).
97 +
98 +__Feed settings:__ All of the information for a syndicated feed is stored in
99 +the WordPress Links database. Feeds in the category to be syndicated (by
100 +default, "Contributors") use several fields of the standard WordPress Link
101 +record:
102 +
103 +- The RSS URI is used to store the URI for the feed to be syndicated.
104 + (Note that this is *not* the same as the Link URI. The Link URI points
105 + to the human-readable *front page* of the website that the feed
106 + syndicates.)
107 +
108 +- The Link URI is used to store a URI to the human-readable front page
109 + (*not* the feed!) of the syndicated website. FeedWordPress automatically
110 + updates this URI using the URI that is reported by the newsfeed whenever
111 + it checks the feed for new posts, so if the page moves this will be
112 + reflected automatically on your Contributors links list.
113 +
91 114 - The Link Name is used to store the title of the syndicated website.
115 + By default, FeedWordPress automatically updates the name of the link
116 + whenever it checks for new posts, using the title that the
117 + newsfeed reports (so that if a Contributor changes the title of her
118 + website, this is reflected automatically on your Contributors links
119 + list). This behavior can be turned off for all feeds through the
120 + settings in Options --> Syndication. The default behavior can be
121 + overridden for specific feeds using the feed setting
122 + `hardcode name`.
92 123
93 124 - The Short Description is used to store the tagline of the syndicated
94 - website.
125 + website. By default, FeedWordPress automatically updates the description
126 + whenever it checks for new posts, using the tagline or description that
127 + the newsfeed reports (so that if a Contributor changes the tagline of
128 + her website, this is reflected automatically on your Contributors links
129 + list). his behavior can be turned off for all feeds through the
130 + settings in Options --> Syndication. The default behavior can be
131 + overridden for specific feeds using the feed setting
132 + `hardcode description`.
95 133
96 -- The RSS URI is used to store the URI for the feed to be syndicated.
97 -
98 134 - The Link Notes are used to store a collection of manually-encoded and
99 135 automatically-generated settings that apply to this feed. The format of
100 136 settings in Link Notes is:
101 137
@@ -101,9 +136,8 @@
101 136 settings in Link Notes is:
102 137
103 138 key1: value1
104 139 key2: value2
105 - key3: value3
106 140 feed/key1: value1
107 141 feed/key2: value2
108 142
109 143 And so on. Values that are prefixed by 'feed/' are automatically
@@ -110,21 +144,35 @@
110 144 generated from feed data every time the feed syndicated by this link is
111 145 checked for updates. Values without the prefix are set manually by the
112 146 user.
113 147
114 -Most settings in the Link Notes have no effect on FeedWordPress, but can be
115 -accessed from templates using the ``get_feed_meta()`` template function in a
116 -post context. For example, many aggregator sites use a "face" image for each
117 -feed to visually distinguish posts from different feeds. To implement a face
118 -feature, you could add a line like this to each feed's Link Notes section:
148 +The Link Notes section can be used to add, remove, and change custom feed
149 +settings. For example, if you want to *add* the feed setting for
150 +`unfamiliar author` with the value `filter`, you can do so by going to Links -->
151 +Syndicated, clicking the "Edit" link for the feed that you wish to add this
152 +setting for, and then adding the following, on a line by itself, to the Link
153 +Notes section:
119 154
120 - face: http://www.zyx.com/mugs/ugly
155 + unfamiliar author: filter
121 156
157 +To remove the setting, follow the same procedure, but find the line for the
158 +feed setting that you want to remove and remove it. To change the value, simply
159 +change the text that follows after the colon.
160 +
161 +Most settings in the Link Notes have no effect on FeedWordPress, but you can use
162 +them to store information for templates to retrieve using the `get_feed_meta()`
163 +template function in a post context (see Template API below). For example, many
164 +aggregator sites use a "face" image for each feed to visually distinguish posts
165 +from different feeds. To implement a face feature, you could add something
166 +like this to each feed's Link Notes, on a line by itself:
167 +
168 + face: http://www.zyx.com/mugs/ugly
169 +
122 170 The URI should be changed out for each feed to point to the appropriate image,
123 171 of course. Then, to use the setting from within a template:
124 172
125 173 // In a post context
126 - <?php $img = get_feed_meta('face'); if strlen($img) > 0): ?>
174 + <?php $img = get_feed_meta('face'); if (strlen($img) > 0): ?>
127 175 <img src="<?=$img?>" alt="" />
128 176 <?php endif; ?>
129 177
130 178 ... which will display the image, if any, whose URI is set in the "face" setting
@@ -132,10 +180,179 @@
132 180 particular feed, ``get_feed_meta()`` will return an empty string and no image
133 181 will be displayed.
134 182
135 183 Not all feed settings are only for templates. Some affect how FeedWordPress
136 -processes posts from that feed. Currently, the special settings are:
184 +processes posts from that feed. Currently, the settings with special effects
185 +on FeedWordPress are `cats`, `hardcode name`, `hardcode description`,
186 +`hardcode categories`, `post status`, `comment status`, `ping status`,
187 +`unfamiliar author`, and `unfamiliar categories`. For descriptions of their
188 +effects, see Special Feed Settings below.
137 189
190 +### Syndicated Posts ###
191 +
192 +Whenever FeedWordPress updates, it scans one or more of the feeds in its
193 +Contributors list and adds any new posts that it finds to the WordPress
194 +database. Syndicated posts are displayed on your WordPress pages like any other
195 +posts: they can be listed in archives by category, author, or date; they can be
196 +found with the search box; and they are included in the newsfeed of your blog.
197 +
198 +In your WordPress templates (Presentation --> Theme Editor) you can access
199 +special information about syndicated posts using functions provided by
200 +FeedWordPress, such as `is_syndicated()`, `the_syndication_source()`,
201 +`the_syndication_source_link()`, and `get_feed_meta()`. For example, here is
202 +the template code that I use (in a post context) to display both the author's
203 +name and the original source of the post in the templates for [Feminist Blogs][]:
204 +
205 + <cite class="feed">from <?php the_author_posts_link()?><?php
206 + if (is_syndicated() and (get_the_author() !== get_syndication_source())):
207 + echo ' @ <a href="'; the_syndication_source_link(); echo '">';
208 + the_syndication_source();
209 + echo '</a>';
210 + endif; ?></cite>
211 +
212 +For more information on template functions, see Template API below.
213 +
214 +### Categories ###
215 +
216 +WordPress allows for posts to be placed in *categories*. Each syndicated post
217 +that FeedWordPress adds to the WordPress database is placed into a set of
218 +categories. FeedWordPress gets the list of category names to use from two
219 +sources:
220 +
221 +1. Categories (or "tags") that the original author placed the post in on
222 + her blog
223 +
224 +2. Categories that you set explicitly for each feed using the `cats`
225 + feed setting. For example, if you wanted all the posts from Alas, A Blog
226 + to be placed in the "Pacific Northwest" category and the "Cartoonists"
227 + category (in addition to any categories that they were placed in on
228 + Alas, A Blog), you could do this by going to Links --> Syndicated,
229 + clicking the "Edit" link for Alas, A Blog, and adding the following line
230 + to the Link Notes section:
231 +
232 + cats: Pacific Northwest:Cartoonists
233 +
234 + (The colon separates one category name from the next.)
235 +
236 +Given the list of category names, FeedWordPress looks for categories in the
237 +WordPress database with the same name as either (1) the category name, or
238 +(2) one of the "aliases" listed in the category description.
239 +
240 +__Aliases:__ Different often authors use slightly different names for
241 +categories that mean the same thing (contributors to Feminist Blogs, for
242 +example, used categories including "Feminism", "feministy stuff",
243 +"Women's Issues", "Gender Issues", "Gender Equality", and so on). If you want
244 +FeedWordPress to treat one category name as a synonym for another, you can
245 +do so by creating an "alias" for the category. For example, to make
246 +FeedWordPress treat posts that are placed in the category "feministy stuff" as
247 +if they had been placed in the category "Feminism", go to Manage --> Categories,
248 +find the category "Feminism" and click the "Edit" link for it, and then add
249 +the following to the Description field, on a line by itself:
250 +
251 + a.k.a.: feministy stuff
252 +
253 +You can add as many aliases as you like. You can also add any other text that
254 +you like to the Description without interfering with FeedWordPress's ability to
255 +use the aliases. Each alias must be on a line by itself.
256 +
257 +__Unfamiliar categories:__ By default, if one of the category names that a
258 +newsfeed provides is unfamiliar -- that is, if there is not yet any category
259 +with that name (or with that name as an alias) in your WordPress database --
260 +then by default FeedWordPress will *automatically create* a new category with
261 +that name and place the current post in it. The default behavior can be changed,
262 +using either the global settings in Options --> Syndication or the
263 +`unfamiliar categories` feed setting (see Feed Settings above), so that unfamiliar
264 +categories will not be added to the database. If you choose to disable the
265 +creation of new categories, you can also choose whether or not FeedWordPress
266 +should syndicate posts that do not match *any* of the categories that are
267 +currently in the database.
268 +
269 +One of the uses of this feature is filtering posts by category: if you want to
270 +your blog to syndicate only the posts in one particular category from a feed
271 +that has several categories, you could do so by creating a category by that
272 +name, adding the new feed(s), and then adding the following line to the Link
273 +Notes section of the feed(s) that you want to filter:
274 +
275 + unfamiliar categories: filter
276 +
277 +Since only posts in categories that are in your database will be included, and
278 +only the category or categories that you wanted posts from has been added to
279 +your database, this will filter out all the posts that aren't in the category
280 +or categories that you defined ahead of time. (Similarly, you could set up
281 +FeedWordPress so that *all* the feeds are filtered by author by creating the set
282 +of users named after the authors you want to syndicate, and then setting the
283 +default behavior for *all* feeds at Options --> Syndication).
284 +
285 +If you need a category filter with more complex logic, you can always create a
286 +`syndicated_item` filter in PHP (see Plugin API below) that manipulates the
287 +`['categories']` array of a syndicated item.
288 +
289 +### Authors ###
290 +
291 +Most newsfeeds include information about the author of the items on them.
292 +(If a feed doesn't, then FeedWordPress will create an author's name based on
293 +the title of the feed from which the item was taken.) This information is used
294 +to determine the WordPress user that the post will be attributed to. Given the
295 +name of the author, FeedWordPress looks for authors in the WordPress database
296 +with the same name as either (1) their login, (2) their first name, (3) their
297 +nickname, (4) their full name, or (5) one of the "aliases" listed in the
298 +user's profile.
299 +
300 +__Aliases:__ If there is an author who posts under more than one name (for
301 +example, one of our contributors at [Feminist Blogs][] posts on several
302 +different blogs, sometimes using her full name and sometimes using only her
303 +first name), then you can ensure that FeedWordPress will attribute those posts
304 +to the same author by creating "aliases" for the author. For example, to make
305 +FeedWordPress treat posts by "Joseph Cardinal Ratzinger" and posts by "Pope
306 +Benedict XVI" as having the same author, go to Users --> Authors & Users, click
307 +on the "Edit" link for Pope Benedict XVI, and add a line like this to the
308 +Profile text:
309 +
310 + a.k.a.: Joseph Cardinal Ratzinger
311 +
312 +You can add as many aliases as you like. You can also add any other text that
313 +you like to the Profile without interfering with FeedWordPress's ability to use
314 +the aliases. Each alias must be on a line by itself.
315 +
316 +__Unfamiliar authors:__ By default, if the author named by the newsfeed is
317 +unfamiliar -- that is, if there is no-one with that name registered in the
318 +WordPress author's database -- then by default FeedWordPress will automatically
319 +create a new user account with the given name and attribute the post to the new
320 +user. The default behavior can be changed, using either the global settings in
321 +Options --> Syndication or the `unfamiliar author` feed setting (see Feed
322 +Settings above), so that posts by unfamiliar authors will either be attributed
323 +to a default author (instead of creating a new user account to attribute them
324 +to), or filtered out and not syndicated at all.
325 +
326 +One of the uses of this feature is filtering posts by author: if you want to
327 +your blog to syndicate only the posts by one particular author from a feed that
328 +has several authors, you could do so by creating a user account with that
329 +author's name, adding the new feed(s), and then adding the following line to the
330 +Link Notes section of the feed(s) that you want to filter:
331 +
332 + unfamiliar author: filter
333 +
334 +Since only posts by authors that are in your database will be included, and only
335 +the author that you wanted posts from has been added to your database, this will
336 +filter out posts by anyone else on the feeds with that setting. (Similarly, you
337 +could set up FeedWordPress so that *all* the feeds are filtered by author by
338 +creating the set of users named after the authors you want to syndicate, and
339 +then setting the default behavior for *all* feeds at Options --> Syndication).
340 +
341 +If you need an author filter with more complex logic than this allows, you can
342 +always create a `syndicated_item` filter in PHP (see Plugin API below) that
343 +manipulates the `['author_name']` or `['dc']['creator']` elements of a
344 +syndicated item.
345 +
346 +Special Feed Settings
347 +---------------------
348 +Most feed settings (see Feed Settings above) have no effect on FeedWordPress
349 +itself, but can be useful because they can be accessed from templates using the
350 +`get_feed_meta()` template function in a post context (see Feed Settings above
351 +for an example). However, you can use some feed settings to affect how
352 +FeedWordPress will process posts from that particular feed. Currently, these
353 +special settings are:
354 +
138 355 - `cats:` a colon-separated list of default categories for any post coming
139 356 from this feed. So, for example, a this line in its Notes section:
140 357
141 358 cats: computers:web
@@ -140,27 +357,80 @@
140 357
141 358 cats: computers:web
142 359
143 360 ... will make FeedWordPress place any posts syndicated from that feed in
144 - the "computers" and "web" categories (*in addition to*, not *instead of*
145 - any categories that are applied to the post in the feed)
361 + the "computers" and "web" categories. Note that by default,
362 + FeedWordPress will place them in those categories *in addition to* any
363 + categories that the author of the post put them in on her own website.
364 + If you want to place posts from a feed *only* in the categories you
365 + explicitly set, then you should use the `cats` setting together with
366 + the `unfamiliar categories` setting. (See Categories above and
367 + `unfamiliar categories` below for the nitty-gritty.)
146 368
147 369 - `hardcode name: (yes|no)`
148 370
149 - A yes/no setting. By default, FeedWordPress updates the value of the
150 - Link Name field automatically to reflect the title that is reported by a
151 - syndicated feed. (So, for example, if one of your contributors changes
152 - the title of her weblog, the change will be reflected on your
153 - Contributors list after the next update.) To override that behavior for
154 - a particular feed (e.g. to force WordPress to use an abbreviated form of
155 - the site's title for reasons of space), add a line like this to the Link
156 - Notes section:
371 + By default, FeedWordPress updates the value of the Link Name field
372 + automatically to reflect the title that is reported by a syndicated
373 + feed--so that if one of your contributors changes the title of her
374 + website, the change will be reflected on your Contributors list after
375 + the next update. If you want to stop this behavior (so that you can
376 + set the title of a Contributor link manually -- e.g. so that you can use
377 + an abbreviated form for reasons of space), you can change the default
378 + behavior for *all* feeds using the settings in Options --> Syndication.
379 + If you want to override the default behavior for only *one* feed, you
380 + can use the `hardcode name` feed setting. If FeedWordPress updates the
381 + title of all feeds by default, but you wish to use a manually-set title
382 + for one particular feed, you can add a line like this to the Link Notes
383 + section of the feed that you want to manually set the title for:
157 384
158 385 hardcode name: yes
159 386
160 - If `hardcode name` is absent, or set to a value other than `yes`,
161 - FeedWordPress will take that as a 'no' and follow the default behavior.
387 + Similarly, if FeedWordPress uses your manually-entered titles for all
388 + feeds by default, but you wish to use an automatically updated title for
389 + one particular feed, you can add a line like this to the Link Notes
390 + section of the feed that you want to manually set the title for:
391 +
392 + hardcode name: no
393 +
394 + If `hardcode name` is absent, or set to a value other than `yes` or
395 + `no`, FeedWordPress will follow the default behavior set under
396 + Options --> Syndication.
162 397
398 +- `hardcode description: (yes|no)`
399 +
400 + By default, FeedWordPress updates the value of the Link Description
401 + field automatically to reflect the tagline or description that is
402 + reported by a syndicated feed--so that if one of your contributors
403 + changes the tagline for her website, the change will be reflected on
404 + your Contributors list after the next update. If you want to stop this
405 + behavior (so that you can set the taglien of a Contributor link manually
406 + -- e.g. so that you can use it to provide information of another sort or
407 + use an abbreviated form for reasons of space), you can change the
408 + default behavior for *all* feeds using the settings in Options -->
409 + Syndication. If you want to override the default behavior for only *one*
410 + feed, you can use the `hardcode description` feed setting. If
411 + FeedWordPress updates the description of all feeds by default, but you
412 + wish to use a manually-set description for one particular feed, you can
413 + add a line like this to the Link Notes section of that particular feed:
414 +
415 + hardcode description: yes
416 +
417 + Similarly, if FeedWordPress uses your manually-entered descriptions for
418 + all feeds by default, but you wish to use an automatically updated
419 + description for one particular feed, you can add a line like this to the
420 + Link Notes section of that particular feed:
421 +
422 + hardcode description: no
423 +
424 + If `hardcode description` is absent, or set to a value other than `yes`
425 + or `no`, FeedWordPress will follow the default behavior set under
426 + Options --> Syndication.
427 +
428 +- `hardcode categories: (yes|no)`
429 +
430 + **This setting has been deprecated.** If set to `yes` it is now treated
431 + as equivalent to `unfamiliar categories: default`. (See below.)
432 +
163 433 - `post status:` sets the default post status for posts from this feed
164 434 This can be 'publish', 'draft', or 'private'. By default, it is set to
165 435 'publish' (syndicated posts go online immediately).
166 436
@@ -173,8 +443,81 @@
173 443 PingBack pings on posts syndicated from this feed. By default,
174 444 syndicated posts are closed to pings, but you can set this to 'open' or
175 445 'closed' for particular feeds.
176 446
447 +- `unfamiliar authors: (create|default|filter)`
448 +
449 + By default, FeedWordPress creates new author accounts whenever it finds
450 + a new post that is by an author whose name is not already in the
451 + WordPress database, and uses that account for this post and any future
452 + posts by an author of that name. FeedWordPress also allows you to
453 + attribute posts by unfamiliar authors to a *default* user account
454 + (currently, this means the System Administrator account), *instead of*
455 + creating a new author, or simply not to syndicate posts by unfamiliar
456 + authors (thus only syndicating posts by authors who are already in the
457 + database).
458 +
459 + Which of these FeedWordPress does by default can be set using the
460 + settings in Options --> Syndicated. You can also override the default
461 + behavior for specific feeds by adding the `unfamiliar author` feed
462 + setting to the Link Notes section of a feed. For example, to ensure that
463 + FeedWordPress filters out posts by unfamiliar authors for one particular
464 + feed, add the setting:
465 +
466 + unfamiliar author: filter
467 +
468 + To ensure that FeedWordPress assigns posts by unfamiliar authors to the
469 + default user account instead of creating a new user account, add the
470 + setting:
471 +
472 + unfamiliar author: default
473 +
474 + If you changed the default behavior under Options --> Syndicated but
475 + want to ensure that FeedWordPress creates new author accounts for
476 + unfamiliar authors on one specific feed, add the setting:
477 +
478 + unfamiliar author: create
479 +
480 + If the setting is anything other than `create`, `default`, or `filter`,
481 + FeedWordPress will ignore the setting and follow the default behavior
482 + that you specified under Options --> Syndication.
483 +
484 +- `unfamiliar categories: (create|default|filter)`
485 +
486 + By default, FeedWordPress creates categories whenever it finds a new
487 + post that is placed in categories whose names are not already in the
488 + WordPress database. FeedWordPress allows you to change this behavior,
489 + so that it will *not* create new category names. It also allows you to
490 + choose whether or not posts must match *at least one* familiar category
491 + to be syndicated at all.
492 +
493 + Which of these FeedWordPress does by default can be set using the
494 + settings in Options --> Syndicated. You can also override the default
495 + behavior for specific feeds by adding the `unfamiliar categories` feed
496 + setting to the Link Notes section of a feed. For example, to ensure
497 + that, when adding new posts from *one particular feed*, FeedWordPress
498 + does *not* create new categories, and filters out any posts that don't
499 + match *at least one* of the categories that you have already defined,
500 + add the setting:
501 +
502 + unfamiliar categories: filter
503 +
504 + To ensure that FeedWordPress does *not* create new categories, but
505 + *will* still syndicate categories even if they don't match any of the
506 + pre-defined categories, add the following to the feed settings:
507 +
508 + unfamiliar categories: default
509 +
510 + If you changed the default behavior under Options --> Syndicated but
511 + want to ensure that FeedWordPress creates new categories for posts
512 + from one particular feed, add the setting:
513 +
514 + unfamiliar categories: create
515 +
516 + If the setting is anything other than `create`, `default`, or `filter`,
517 + FeedWordPress will ignore the setting and follow the default behavior
518 + that you specified under Options --> Syndication.
519 +
177 520 Template API
178 521 ------------
179 522 When activated, FeedWordPress makes the following functions available for use by
180 523 themes/templates:
@@ -219,8 +562,20 @@
219 562 that by default the permalinks listed on your website and in your newsfeed will
220 563 link to the location of the posts on the source website, *not* to their location
221 564 on your website. You can switch this behavior on or off at Options -->
222 565 Syndication in the WordPress Dashboard.
566 +
567 +### Plugin API ###
568 +
569 +FeedWordPress creates five hooks through the WordPress plugin architecture that
570 +you can plug in to using PHP WordPress plugins, to supplement ordinary
571 +FeedWordPress behavior, or to filter posts according to criteria that you set.
572 +The hooks are the action ``feedwordpress_update``, the action
573 +``feedwordpress_check_feed``, the action ``feedwordpress_update_complete``, the
574 +filter ``syndicated_item``, the filter ``syndicated_post``, the action
575 +``post_syndicated_item``, and the action ``update_syndicated_item``.
576 +
577 +For more information, see <http://projects.radgeek.com/feedwordpress/api>.
223 578
224 579 License
225 580 -------
226 581 The FeedWordPress plugin is copyright (c) 2005 by Charles Johnson. It uses code