È sempre più raro che la ricerca su WordPress produca un singolo risultato, ma può succedere in siti particolarmente specializzati, o con keyword di ricerca complesse.
Un cliente mi ha chiesto di fare in modo che, se il risultato della ricerca produce un solo articolo, l’utente venga reindirizzato automaticamente all’articolo stesso.
Una breve ricerca in rete ed ho trovato uno snippet che faceva al caso mio, l’ho testato e funziona, e dato che potrebbe tornare utile in futuro ho pensato di condividerlo qui.
Il codice qui sotto va inserito direttamente nel file functions.php del tema in uso:
add_action('template_redirect', 'redirect_single_post'); function redirect_single_post() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); exit; } } }
Ho testato questo snippet con WordPress 3.9.1, senza problemi apparenti.
Una risposta
carino!
mi Sto arrivando! che l’implemento anche io…