How can I remove the author prefix on a WordPress website, I have done a quick Google but have only found htaccess redirects which I don't want to resort to.
To clarify I want to turn this:
http://www.domain.com/author/cameron/
into this
http://www.domain.com/cameron/
I don't want to use any redirects of any kind, but actual PHP code I can use in the functions.php file, as I want all links across the site that use the author stuff to auto update without keeping there original links and then redirecting to the new one.
Thanks
You basically need to add WP rewrite rules to match the names of each of your users in the desired form. This is what the WP No Category Base does for categories, so most of the code in my answer is adapted from that plugin.
The primary part of the plugin is a function which hooks into the
author_rewrite_rules
filter and replaces the author rewrite rules. This retrieves all the user names and adds a rewrite rule specifically for each user (the below won't handle feeds, so look at the WP No Category Base source if you need that).The other key part of the plugin is a function which hooks into the
author_link
filter and removes the 'author' base from the returned URL.See this gist: http://gist.github.com/564465
This doesn't handle redirection from the old style author URLs, again, see the WP No Category Base source if you need to do that.
Be sure to replace this piece of code inside no_author_base_rewrite_rules() :
So that Wordpress refreshes the rewrite list. (otherwise some links may not work).