web-dev-qa-db-fra.com

Comment changer la recherche de liens permanents

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?

4
Batman

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".

1
Krzysiek Dróżdż

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!

0
liying