The question:
Assuming I have this URL:
http://site.com/?get=something
How can I change it to a nice URL that looks like:
http://site.com/get_something
using WP’s URL rewriting system?
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
First add get to query vars array:
function add_query_vars_wpa12572($vars) {
$vars[] = 'get'
return $vars;
}
add_filter('query_vars', 'add_query_vars_wp12572');
then add the rewrite rule
function author_rewrite_rules_wpa12572( $wp_rewrite ) {
$newrules = array();
$new_rules['get_(d*)$'] = 'index.php?get=$matches[1]';
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_filter('generate_rewrite_rules','author_rewrite_rules_wpa12572');
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0