J'ai créé ma propre fonctionnalité de recherche qui recherche le magasin le plus proche du code postal saisi.
Mon URL pour la recherche ressemble actuellement à ceci http://www.example.com/stores?searchTerm=London
, ce qui n’est pas vraiment convivial pour le référencement. Je voudrais que mon URL soit dans le format suivant - http://www.example.com/stores/London
. Cependant, en raison de mon manque de connaissances sur le fonctionnement des réécritures d’URL WordPress, j’ai du mal à résoudre ce problème.
Stores est une page qui parcourt les résultats.
Si quelqu'un a des idées sur la façon de procéder ou s'il peut me diriger dans la bonne direction, ce serait grandement apprécié.
Vous devez d'abord ajouter votre propre variable de requête personnalisée:
function add_search_store_query_var($vars) {
$vars[] = 'search_store';
return $vars;
}
add_filter( 'query_vars', 'add_search_store_query_var');
Et puis ajoutez la règle de réécriture:
function add_search_store_rewrite_rule() {
add_rewrite_rule('stores/([^/]+)$', 'index.php?page_id=<YOUR SEARCH PAGE ID>&search_store=$matches[1]', 'top');
}
add_action('init', 'add_search_store_rewrite_rule');
Vous pouvez ensuite utiliser get_query_var('search_store');
pour obtenir le terme de recherche.
N'oubliez pas de vider les règles de réécriture avant de le vérifier - cela ne fonctionnera pas sans vider les règles. (Accédez simplement aux paramètres de permalien et cliquez sur Enregistrer).
PS Codé directement ici, donc ça peut être un peu buggé.