Vuoi reindirizzare la tua ricerca al post se c'è un solo risultato di ricerca? Questo snippet migliora l'esperienza di ricerca sul sito eliminando la necessità di un clic.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
add_action('template_redirect', 'single_result');
function single_result() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: Migliora l'esperienza di ricerca predefinita di WordPress – la recensione completa di Search WP.
Ottengo un errore di sintassi, inatteso ' $wp_query ' (T_VARIABLE) quando copio e incollo il tuo codice nel file functions.php. Quindi, ho un tipo di post personalizzato chiamato auto con 4 tassonomie e ho creato una pagina di archivio che utilizza il plugin grid e il plugin search and filter pro. Tutto funziona bene ma voglio essere reindirizzato alla pagina del post invece se ho un solo risultato nell'archivio. Puoi darmi qualche suggerimento? Grazie!
Grazie!
[...] mi piace molto questo – grazie WP Snipp! Quando un utente cerca sul tuo sito e c'è un solo risultato, l'utente viene portato direttamente al [...]
[...] [Fonte] [...]
Bel codice ma farei un miglioramento... cambia
if ($wp_query->post_count == 1)aIl codice originale interrompe la paginazione quando c'è solo un post rimasto nella pagina successiva e reindirizza ad esso invece di mostrarlo. es. Se un archivio post è impostato per mostrare 10 post per pagina e vengono restituiti 11 risultati, invece di mostrare l'ultimo post, reindirizza ad esso.if ($wp_query->found_posts == 1)
questo sta funzionando correttamente, grazie!
Sono contento che sia stato d'aiuto 🙂
[...] [Fonte: WPSNIPP] [...]
Il tuo esempio ha funzionato bene per me, tutto sembra funzionare.
Ehi, ora anche io. Scusa. Grazie.
nessun problema :)