Ultimate Tag Warrior 3.141

New version!

– Stops uses deprecated tables, so everything should be A-OK for state-of-the-edge WordPress 2.1 installs.
– Fixes the postmeta issue* (:
(If you go to Manage > Tags, and click the Tidy Tags button; the postmeta guff will be cleared out)

Download here

* When a post without tags was requested, a new empty row was being added. *smacks forehead*

Ultimate Tag Warrior 3.14

Download Ultimate Tag Warrior 3.14

Behold, the long awaiting next version of Ultimate Tag Warrior. There are three new and important things to ogle at:

Mark wrote a thing which caches tags, so a whole-bunch less database queries will take place. Thanks Mark! (:
– There’s a shiny new option (on the options page) which will automatically include the appropriate tags in a meta keyword field, in the page header.
– I think I’ve fixed the thing with tag suggestions that was causing javascript errors for people. (Also, you can push both buttons and both sets of tag suggestions will display)

– There’s also a new predefined format that will create a tag cloud in the form ordered list of coloured/sized tags. It’s called tagcloudlist. It’s not as important as the other three, but someone wanted one, so there you go.

Donate $1? | Download Ultimate Tag Warrior 3.14

Ultimate Tag Warrior 3.1

Download Ultimate Tag Warrior 3.1

There’s a new version! I’ve made some changes to tag suggestions – tagyu suggestions work again, for reals; and I’ve gone backwards, and yet forwards, so you can now choose whether you want suggestions from tagyu, or the yahoo! term extraction API.

If you have been using simple tags, you can now do a mass import of your tags, from the Manage > Tags page. (I have a feeling that if you tinker with the start and end delimiters, you could probably get it to do an import of generic tags…but I haven’t done it myself (: )

So yeah (: Download here, Support forum here; let me know if you need a WordPress 1.5 version! (I’ve had mostly WordPress 2.0 downloads, so I’m inclined to wait for a request for a 1.5 version)

Ultimate Tag Warrior 3

Woo!

Apparently, I haven’t done a release of my plugin for a while. I just had a look at a diff between the new version, and the old version, and it’s terrifying trying to figure out what has changed (:

At the moment, I’ve only made a WordPress 2 version. If you need a WordPress 1.5 version, let me know and I’ll make the little changes that it needs.

Moh! The first bug has been found! If you’re installing for the first time, in ultimate-tag-warrior-core.php, find PRIMARY KEY (ID)and replace it with PRIMARY KEY (tag_ID)

– You can specify the text to display when there are no tags through the Options > Tags page
– The plugin isn’t requesting option values anywhere near as often (although this is less problematic in WordPress 2.0.1 than it was in WordPress 2.0)
– The plugin does a bunch o’ internal caching which has knocked the number of database queries way down
– I’ve made a couple of changes to streamline new installs (People hosted by Yahoo! had a database permission issue which prevented the automagic updating taking place; along with a couple of other stray issues that people used to ask about (: )
– There’s a lot more type checking/character stripping of user data (side effect of this, is that you can’t have apostrophes or quotes in your tags any more)
– I’ve included some examples for theme-type stuff you might want to do – adding the tags to the title in the header, creating a tag cloud page, a tag archive page (the one that lists the posts for a tag), and an interactive search page (it requires UTW 3. If you don’t have wordpress installed in the root folder, you’ll need to adjust the path to the ajax receiving page.. it’s near the top. You’ll see it)
– You can have embedded tags – if you are using Flock, Ecto, or any other not-wordpress way of adding posts, you can use [tags]comma, list of, tags[/tags] syntax to add tags to a post. [tag]single tag[/tag] can be used within your posts, and will magically turn into tag links when the post is displayed. (You can do this using the wordpress post adding screen too (: ) You do need to enable this on the Options > Tags page.
– There are all sorts of little stray bug fixes here, there and everywhere – Tidy tags works again; ampersands are no longer a problem in feeds; the tag box doesn’t have extra close div tags; and this plugin should no longer conflict with the Static Front Page plugin.

Download here | Support forum here

Ultimate Tag Warrior 2.9.2

Looks like there’s an interesting bug which is doing odd things to comments. I’m not seeing it, though; but if you are, let me know! Thanks (: We found the bug – it only appears if you display related posts. Updating to version 2.9.2.1 of the plugin will fix it. (I’m pretty sure I fixed a bug in the AJAX tag-adding bits too – it looked like it would have been broken, in any case)

Sometimes you take steps forwards, and then you take steps backwards.

In the WordPress 2.0 version of the plugin, I’ve moved the tag-entering bit back to how it was previously – the way I had it, to get it to work was a flakey-flakey thing which caused problems which far out-weighed its usefulness.

I’ve updated the help (I think!), to include the last few versions worth of changes.

And fixed a few other bugs here and there (:

Support Forum | Ultimate Tag Warrior 2.9.2.1, for WordPress 2.0 | Ultimate Tag Warrior 2.9.2.1, for WordPress 1.5

Ultimate Tag Warrior 2.9.1

Bugfixes!
– Spaces are going to be replaced with hyphens by default instead of underscores. Existing tags aren’t automatically changed; but if you want to, there’s some SQL here that will do it for you.
– Prefixes and suffixes for auto-tags had a dumb bug which I’ve fixed (:

Notfixes!
– In wordpress 2, tag names with apostrophes are problematic. If things are broken, try renaming those tags.
– There’s still work to be done with special characters.
– I’m still not sure about .htaccess/rewriting issues in wordpress 2.

Support Forum | Ultimate Tag Warrior 2.9.1, for WordPress 2.0 | Ultimate Tag Warrior 2.9.1, for WordPress 1.5

Ultimate Tag Warrior 2.9

New uber-version of UTW!

Beware:
– There are new options which might cause wonky behaviour (mostly just automatically included tags appearing) – go to the Options > Tags page and hit save to make ’em vanish.

New Features:
– If there are database permission issues that prevent the auto-updater from running, you won’t see error messages all over the place (but if you do a force-reinstall they will display)
– Related posts are sorted by most tags in common, then most recent first (previously it was just most tags in common order)
– Tag urls are now url-encoded (duh.) – this allows using umlats and other such things (at least in the way I tried (; including ü in your tags works, using magical characters directly is a bit bung still)
– Lists of posts can now include the date of the post (uses the %postdate% formatting placeholder, and the default date format)
– UTW_Show functions have changed a little – the first parameter still takes the name of a predefined format; but if you pass in custom formatting information, it will be added to the predefined format.
– The Options > Tags page has a whole bunch of embedded help. Yay help.
– The automatically included links can now be placed either before or after the content. There’s also the option to add text before and after the tags (handy for Tag: labels, wrapping tags in spans or divs and wrapping html lists in <ul> tags)
– I’ve fixed an odd bug with feeds (it worked for me, but didn’t for a couple of people.. it’s just one of those bugs, I guess)
– [Wordpress 2 only] On the write post screen, the tag entry and tag suggestion boxes have been shuffled into the right-hand column and put into magical boxes for shuffling and hiding and whatnot.
– There’s a new template function, UTW_ShowRSSFeedIcon(). It displays an RSS icon on tag pages for the current tag set (if you’re viewing /tags/tag1 it’s a link to the tag1 feed. On /tags/tag1+tag2 it’s a link to the feed with posts tagged both tag1 and tag2).
– The UTW_AddTagToCurrentPost() has an extra parameter – it allows specifying the minimum user level that you need in order to add tags. It defaults to 3.

Things I haven’t forgotten:
– The ability to exclude tags from displaying in tag clouds and on posts
– The gadabe issue with … in tag links
– Cobbling together a non-includey version
– Displaying tag clouds for a subset of tags (For facetish purposes)

If there are things I have forgotten, let me know (: I get forgetful sometimes..

Support Forum | Ultimate Tag Warrior 2.9, for WordPress 2.0 | Ultimate Tag Warrior 2.9, for WordPress 1.5

WordPress 2.0-RC1, Plugins and URL Rewriting

We fear change

My beloved WordPress plugin, Ultimate Tag Warrior uses URL rewriting to make the good stuff happen. In the 2.0-RC1 release of WordPress, the way URL rewriting works has changed a great deal. What follows, is what I needed to do in order to get Ultimate Tag Warrior to work properly.

First: How Ultimate Tag Warrior worked previously
With old URL rewriting; a request for /tag/sometag would be intercepted; and turned into index.php?tag=sometag behind the scenes. Underlying PHP magic would populate the $_GET array with the value of the tag parameter; then UTW would use the value from the $_GET array to figure out taggy stuff.

Next: Why this doesn’t work anymore
Requests for /tag/sometag are now matched in WordPress code; which means that the $_GET array is no longer being populated with the name of the requested tag. This broke pretty URLs, since as far as the plugin was concerned, there wasn’t a tag being specified.

Finally: How to wrangle it so that it does work properly
There are three things that I needed to do to get UTW to play nicely.

Phase one: Make changes to my rewrite rules
Previously, my additions to the rewrite rules array looked like this:
$rules[substr($baseurl, 1) . "?(.*)$"] = "index.php?tag=$1";

I had to change them, to be like this:
$rules[substr($baseurl, 1) . "?(.*)$"] = "index.php?tag=$matches[1]";
The rewritten URLs changed from having references to $1…$n to having references to $matches[1]…$matches[n].

Phase two: Add my query variables to the list of public variables
I needed to add a new filter in order to get my little paws on the name of the current tag.

This is the filter. It just adds tag to the list of query variables.
function ultimate_query_vars($vars) {
$vars[] = 'tag';
return $vars;
}

There’s a corresponding filter hookup. This is what mine looks like; because I have most (all?) of my actions inside a class named UltimateTagWarriorActions.
add_filter('query_vars', array('UltimateTagWarriorActions','ultimate_query_vars'));

(For completeness; if you don’t stash your action functions in a class, it looks more like
add_filter('query_vars', 'ultimate_query_vars');)

Phase three: Use the values from the query_vars object instead of $_GET
This part of the exercise was relatively straightforward. I replaced references to $_GET["tag"] with get_query_var("tag"). Obviously, this gave me the name of the tag from the URL instead of an empty string (:

It was a pain to figure out the hoops that I needed to jump through to get this to work; so if you’re in the process of getting a pre WordPress 2.0 plugin to work, I hope that it helps.

Ultimate Tag Warrior 2.8.8

Just a few little bug fixes in this version (:

(The issue with new posts in wordpress 1.6/2b has been fixed; along with an odd bug that Bill found with 404s and a weird plugin interaction; and it adds the core functionality needed for the experimental search)

Download here | General info here | Support Forum here

Update: Tag Search thingy! Download the tag search page; add it to your theme (and make changes as necesary… uh; if you have UTW installed in a different place, you’ll need to tweak the ajax url.. this is just an example!!! (: ); Create a new page, and use the Tag Search page template.

The tag search thing does depend on using version 2.8.8 of UTW.