web-dev-qa-db-fra.com

Règles de réécriture personnalisées pour une demande $ _GET

En supposant que j'ai cette URL:

http://site.com/?get=something

Comment puis-je le changer pour une URL de Nice qui ressemble à:

http://site.com/get_something

en utilisant le système de réécriture d'URL de WP?

2
onetrickpony

Commencez par ajouter le tableau get to query vars:

function add_query_vars_wpa12572($vars) {
    $vars[] = 'get'
    return $vars;
}

add_filter('query_vars', 'add_query_vars_wp12572');

puis ajoutez la règle de réécriture

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');
1
Bainternet