Questa volta ho trovato una soluzione per reindirizzare una categoria, che contiene un solo post, al post singolo presente in quella categoria. Facciamo un esempio pratico per chi non ha la più pallida idea di cosa sto parlando.
In questo caso ho usato questa tecnica per WooCommerce (il famoso plugin per WordPress per creare uno shop online), avevo una categoria prodotto con un solo elemento all’interno. Cliccando il link di quella categoria si sarebbe visualizzata la lista dei prodotti, ma sfortunatamente il prodotto era solo uno. Ovviamente al cliente non piace vedere la lista del suo sito vuota. Cosi mi ha chiesto di mandare quel link direttamente al prodotto interno. Potevo benissimo mettere un link statico al prodotto ma poi ho pensato: “se dovessero aumentare dovrò rimetterci mano!!”
Quindi ho fatto un controllo sui prodotti dove, se esiste una categoria prodotto e quella categoria contiene solo un elemento, fai il redirect di quel link al primo ed unico prodotto di quella categoria.
Vediamo come:
Redirect al post singolo di una categoria
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
//controllo se esiste la categoria
if (is_product_category()) {
//richiamo la variabile globale
global $wp_query;
//controllo se il numero dei post è 1
if ($wp_query->post_count == 1) {
//faccio il redirect al post singolo
$permalink = $wp_query->posts['0']->ID;
wp_redirect( get_permalink( $permalink ) );
exit;
}
}
}
Questo codice che ho scritto sopra dovrete inserirlo nel vostro function.php di WordPress. Ovviamente possiamo usare questa funzione per qualsiasi altra tassonomia (ovvero il nome che avete assegnato alla insieme categoria di quel tipo di custom post), basta cambiare il condizionale da is_product_category a un’altra qualsiasi tassonomia (ad esempio category per i post del blog di WordPress) ed il gioco è fatto.
Spero di essere stato abbastanza chiaro nello spiegare come si indirizza una tassonomia con un solo elemento a quel singolo elemento, che per i neofiti potrebbe essere un po arduo da comprendere, comunque per qualsiasi chiarimento, informazione o dubbio che avrete non esitate a commentare nell’apposito modulo in fondo alla pagina oppure potete scrivermi dalla pagina Get in Touch tramite il modulo di contatto.
A presto! :)
Se ti è piaciuto questo articolo o ti è stato utile in qualche modo, lascia un commento, condividilo con i tuoi amici e seguimi sui social.