Modifier l’URL de la page des résultats de recherche

Lorsque vous  réalisez une recherche sur un site WordPress, les résultats de votre recherche sont accessibles via l’adresse suivante : http://www.mon-site.com/?s=mot

Si cette adresse ne vous donne pas satisfaction pour votre site personnel, il est possible de modifier cette adresse grâce à un petit ajout dans votre fichier functions.php

Il faut savoir que WordPress propose par défaut une écriture plus « propre » de l’adresse URL des résultats de recherche. Si vous faîtes une recherche avec une adresse de ce type : http://www.mon-site.com/search/mot, WordPress ne réécrit pas l’URL et permet d’obtenir les résultats de la recherche du terme « mot ».

Si vous souhaitez rediriger automatiquement les résultats de recherche pour obtenir une adresse plus « propre»il suffit de copier le code suivant dans le fichier functions.php présent à la racine de votre thème ou de votre thème enfant :

add_action('template_redirect', 'gkp_search_url_rewrite_rule');
function gkp_search_url_rewrite_rule() {
 
    global $wp_rewrite;
	
    if ( is_search() && isset( $_GET['s'] ) ) {
	$s = str_replace( array( ' ', '%20' ), '+', get_query_var( 's' ) );
	wp_redirect( home_url( $wp_rewrite->search_base . '/' . remove_accents ( $s ) ) );
	exit();
    }
}
 
add_action('init','gkp_change_search_permalinks');
function gkp_change_search_permalinks( ) {
    global $wp_rewrite;
    $wp_rewrite->search_base = 'recherche';
}

Grâce à cette redirection, les résultats de recherche seront disponibles via l’adresse http://www.mon-site.com/recherche/mot

Pour modifier la base de l’URL de recherche par celle de votre choix, il faudra donc modifier la valeur de $wp_rewrite->search_base présent en fin de code.

Enfin, pour que le changement soit pris en compte par WordPress, il ne faut pas oublier de mettre à jour les permaliens en allant dans les réglages du tableau de bord de WordPress.