Ci sono momenti in cui, cercando in un blog WordPress, si ottiene un solo risultato. A seconda di quanto è organizzato il tuo sito, questo dovrebbe comunque essere l'elemento che l'utente stava cercando. Uno dei nostri utenti ha chiesto se ci fosse un modo per reindirizzare al post se la query di ricerca produce un solo risultato. In questo articolo, ti mostreremo come reindirizzare gli utenti al post quando la query di ricerca restituisce un solo risultato.
Tutto quello che devi fare è aprire il file functions.php del tuo tema e incollare il seguente snippet.
add_action('template_redirect', 'one_match_redirect');
function one_match_redirect() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Ora devi essere consapevole che alcuni utenti non si aspetteranno questa funzionalità. Quindi potrebbe spaventarli.

Casey Lessard
Ha funzionato per me. Gestisco un motore di ricerca locale usando WordPress e stavo cercando questa soluzione da tempo. Fa esattamente come descritto. Grazie mille!
Eric
Voglio fare in modo che quando qualcuno cerca una frase specifica venga reindirizzato a un easter egg, come se qualcuno cercasse specificamente "Vedo gente morta" venga reindirizzato a un URL che posso definire.
Nebulas Website Design
Grazie per questo pezzo di codice, ha reso molto felice il mio cliente e non pensavo si potesse fare. Tuttavia, non sta funzionando per noi, stiamo usando il plugin di ricerca Relevanssi, dovrebbe funzionare con questo?
carlos
E se volessi reindirizzare qualsiasi query di ricerca al post più pertinente, indipendentemente dal numero di post restituiti dalla ricerca? Mi piacerebbe davvero poterlo fare.
Staff editoriale
Rimuovi il condizionale if dal codice sopra, e dovrebbe farlo.
Amministratore
CalebZahnd
Questo è utile. Grazie!