Nejspíše využíváte hezké nastavení trvalých odkazů. Ať je však využíváte nebo ne, tak odkaz po vyhledávání u vás na webu vypadá nějak takto nazevwebu.cz/?s=hledany-vyraz . Tohle určitě není pěkná adresa obzvlášť pokud máte aktivované přátelské odkazy. Proto si dneska ukážeme, jak si změnit adresu například na nazevwebu.cz/hledej/hledany-vyraz . Uznejte, že takováto adresa vypadá hned lépe.
Musíme udělat dvě věci. Napřed pozměnit adresu, která se nám zobrazí po vyhledávání. Druhý důležitý krok je, že musíme wordpressu říci, co tahle adresa znamená. Všechny níže uvedené kódy ukládejte do functions.php ve vámi aktivované šabloně.
Změna odkazů
add_action( 'template_redirect', 'zmena_odkazu' );
function zmena_odkazu() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( "/hledej/" ) . urlencode( get_query_var( 's' ) ) );
exit();
}}
Nyní tedy máme změněný odkaz, který se zobrazí, když někdo vyhledává. Ještě se nám však nezobrazují žádné výsledky, jelikož wordpress neví, co tato nová adresa znamená. Pojďme mu to tedy říci 🙂 .
Změna adres
add_action('generate_rewrite_rules', 'zmena_adresy');
function zmena_adresy( $wp_rewrite )
{
$new_rules = array(
'hledej/(.+)' => 'index.php?s=' .
$wp_rewrite->preg_index(1) );
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
Teď už jsme wordpressu řekli, co daná adresa znamená a co na ni má zobrazit. Jen je potřeba mu ještě dát vědět, že již má tento odkaz používat jako hlavní. Proto přejdeme do Nastavení -> Trvalé odkazy a klikneme na Uložit změny. Nyní již máte krásnou adresu pro vyhledávání na vašem webu, který pohání wordpress.