web-dev-qa-db-fra.com

add_query_vars et add_rewrite_rules

Je cherche un peu de clarté sur ce que add_rewrite_rules fait.

Si je saisis ou soumets des variables à partir d'un formulaire, est-il supposé changer les variables de requête en une jolie URL?

Actuellement, lorsque je tape la jolie URL, la page agit comme je le souhaite. Lorsque je soumets un formulaire qui redirige vers une page avec les variables de requête dans l'URL, cela fonctionne également très bien. Mais j’avais pensé que si j’avais tapé une URL avec les variables de la requête, elle basculerait vers la jolie URL. Ça ne fait pas ça. Devrait-il? Est-ce que je fais mal?

function add_query_vars($aVars) {
    $aVars[] .= 'var_state';
    $aVars[] .= 'var_clubs';
}
add_filter('query_vars', 'add_query_vars');

function add_rewrite_rules($aRules) {
    $aNewRules = array(
        'rv-clubs/([^/]+)/([^/]+)/?$' => 'index.php?pagename=rv-clubs&var_state=$matches[1]&var_clubs=$matches[2]'
    );
    $aRules = $aNewRules + $aRules;
    return $aRules;
}
add_filter('rewrite_rules_array', 'add_rewrite_rules');

Toute aide serait appréciée.

4
Kenny Scott

Vous pouvez voir dans cette réponse comment add_rewrite_rules est utilisé, je ne pense pas que cela s'applique à votre cas.

Ce que vous devez faire est de rediriger les URL générées à partir de la recherche (je suppose quelque chose comme site.com/?s=term) vers une jolie URL. Cet article le fait http://www.wptavern.com/how-to-make-the-wordpress-search-url-pretty

1
bfred.it