X

Come reindirizzare quando la ricerca di WordPress restituisce una sola corrispondenza

Snippet di IsItWP

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.

Commenti   Lascia una risposta

  1. 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!

  2. Grazie!

  3. 12 modifiche a WordPress non così ovvie per migliorare post e pagine - WPMU DEV 27 marzo 2015 alle 08:10

    [...] 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 [...]

  4. Tag condizionali di WordPress (e snippet) per principianti 4 marzo 2015 alle 23:52

    [...] [Fonte] [...]

  5. Cameron Coleman 26 luglio 2013 alle 18:31

    Bel codice ma farei un miglioramento... cambia

    if ($wp_query->post_count == 1) a
    if ($wp_query->found_posts == 1)
    Il 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.

    1. questo sta funzionando correttamente, grazie!

      1. Sono contento che sia stato d'aiuto 🙂

  6. 29 Tweaks di WordPress per Migliorare Post e Pagine 18 ottobre 2011 alle 09:03

    [...] [Fonte: WPSNIPP] [...]

  7. Il tuo esempio ha funzionato bene per me, tutto sembra funzionare.

    1. Ehi, ora anche io. Scusa. Grazie.

      1. nessun problema :)

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!