Auto Describe Tags

On another post I’ve described a nice way to auto-describe your post tags. I decided to turn this feature into a plugin.

Difficulty: [Master - 4/5]

PHP knowledge level: [Novice - 2/5]

Here is how I’ve made it. There are 3 major parts of the plugin:

  1. auto-describing tags
  2. auto-updating tag info
  3. plugin administration

1. Auto-describing tags

As I posted here, the best way is to use freebase: Alternate way for tagging a post.

2. Auto-updating tag info

To achieve that I registered a function (BWP_auto_describe_tags_the_content) to be called when an entry will be shown (adding a filter function to ‘the_content’). Further more, I am keeping an internal list so a tag won’t be submitted for auto-description more than once (to reduce redundant api calls). Also, I made it so only one tag will be submitted for auto-description / function call. And as a feature, I’ve added a list of blocked tags. Any tag in that list wont be submitted for auto-description (as I submitted API for auto-description and I got the description of a mountain peak).

3. Plugin administration page

I covered this parte here: Auto Add Tags – Part 2 – Saving plugin options

Final considerations

This plugin will only add a suitable description to your tags! It wont do any showing. If tag description isn’t shown on the tag page, you might wanna consider looking up your theme a bit. There are 2 things a theme must have to show tag description on a tag page:

  1. How to create a custom tag template: here or here.
  2. How to show tag description: here or here.

Timeline:

March 23, 2011: I’ve submitted the plugin to WordPress plugin repository and I am waiting for approval.

March 23, 2011: The plugin was accepted to WordPress plugin repository. You can find it here: http://wordpress.org/extend/plugins/wp-auto-describe-tags/

Facebook comments:

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>