Ricerca WordPress: reindirizzare direttamente all’articolo (se il risultato della ricerca è un singolo articolo)

ATTENZIONE: questo articolo è stato scritto oltre un anno fa, ed i contenuti potrebbero non essere più validi o compatibili. Sei pregato di tenerne conto, e se hai informazioni in merito di segnalarmele, grazie.

È 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.

(Fonte Snippet)

Tags: , , , ,

Una Risposta a “Ricerca WordPress: reindirizzare direttamente all’articolo (se il risultato della ricerca è un singolo articolo)”

  1. kOoLiNuS 10 Lug 2014 at 14:25 #

    carino!
    mi Sto arrivando! che l’implemento anche io…

Dubbi o suggerimenti? Lascia un commento!

I love Instagram