I need some help turning a very simple rewrite.php hack into a plugin.
I want my feed, comment and search URLs to start with $wp_rewrite->front instead of $wp_rewrite->root (so they'll be accessible at /blog/feed/ instead of /feed/, et cetera). This is easy to do with a hack; I simply change $this->root to $this->front in each of get_search_permastruct(), get_feed_permastruct() and get_comment_feed_permastruct() in rewrite.php.
Obviously this is a crappy solution, but hours of trying to accomplish the same thing using filters has proven fruitless.
As an example, I've tried this:
function changeRootRewriteRules($rewrite) {
global $wp_rewrite;
$rewrite = $wp_rewrite->generate_rewrite_rules($wp_rewrite->front . '/', EP_ROOT);
return $rewrite;
}
add_filter('root_rewrite_rules', 'changeRootRewriteRules');
I see the changes I've made when I print_r( $wp_rewrite->rewrite_rules() ):
...
[blog/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?&feed=$1
[blog/(feed|rdf|rss|rss2|atom)/?$] => index.php?&feed=$1
[blog/page/?([0-9]{1,})/?$] => index.php?&paged=$1
...
But those rules don't actually have an effect; my feeds are still only accessible at /feed/ instead of /blog/feed/.
Help would be most appreciated.