J'ai 3 recherches personnalisées créées en utilisant différents modèles.
La page de résultats de recherche charge différents résultats en fonction du référent:
<?
/* Template Name: Search Results */
$search_refer = $_GET["post_type"];
if ($search_refer == 'post') {
load_template(TEMPLATEPATH . '/search/filme.php');
}
elseif ($search_refer == 'persoane') {
load_template(TEMPLATEPATH . '/search/actori.php');
}
elseif ($search_refer == 'trailers') {
load_template(TEMPLATEPATH . '/search/trailers.php');
}
?>
J'aimerais rendre l'URL de cette page plus jolie. En ce moment, cela ressemble à ceci:
/?s=After+Earth&post_type=post
mais j'aimerais qu'il ressemble à ceci:
/search/After+Earth/post_type/post
Comment puis-je rendre l'URL plus belle?
Cet extrait devrait résoudre votre problème. Il suffit de le mettre dans votre fichier functions.php.
function my_insert_rewrite_rules( $rules ) {
$newrules = array();
$newrules['search/([^/]+)/post_type/([^/]+)/?$'] = 'index.php?s=$matches[1]&post_type=$matches[2]';
return $newrules + $rules;
}
add_filter( 'rewrite_rules_array','my_insert_rewrite_rules' );
function my_flush_rewrite_rules() {
flush_rewrite_rules();
}
add_action( 'after_switch_theme', 'my_flush_rewrite_rules' );
Vous devrez vider les règles de réécriture après avoir ajouté ce code avant que celui-ci ne commence à fonctionner. Changez simplement de thème et revenez en arrière ou allez dans Paramètres-> Paramètres Permalink et appuyez sur le bouton "Enregistrer".
tout d’abord, voyez cette URL http://codex.wordpress.org/Using_Permalinks , puis allez au tableau de bord administrateur Paramètres-> Lien permanent Paramètres- > Paramètres communs définissez l’URL que vous voulez, essayez-la, mais peut-être que cela vous aidera!