add_filter('search_rewrite_rules', '_create_rewrite_rules'); add_filter('query_vars', '_add_query_var'); define('MYRULE', 'something'); function _create_rewrite_rules($rewrite) { global $wp_rewrite; // add rewrite tokens $token = '%' . MYRULE . '%'; $wp_rewrite->add_rewrite_tag($token, '(.+)', MYRULE . '='); $keywords_structure = $wp_rewrite->root . MYRULE . "/$token"; $keywords_rewrite = $wp_rewrite->generate_rewrite_rules($keywords_structure); return ($rewrite + $keywords_rewrite); } function _add_query_var($wpvar_array) { $wpvar_array[] = MYRULE; return($wpvar_array); } function get_token() { global $wp_version; $token = (isset($wp_version) && ($wp_version >= 2.0)) ? get_query_var(MYRULE) : $GLOBALS[MYRULE]; return $token; }