Categorie
Wordpress

Come nascondere il nome di una determinata categoria in WordPress

In alcuni temi di WordPress, soprattutto quelli un po’ più complessi che si usano per i magazine online, si usano le categorie per definire la posizione di visualizzazione degli articoli.
Come funzionano questi temi? Semplice, ogni blocco carica gli articoli di una determinata categoria, scelta dall’utente tra quelle esistenti.

Alcuni esempi? Categorie come “Slideshow“, “Alto dx“, “In evidenza” sono utili a chi deve decidere dove deve vedersi un contenuto all’interno dell’homepage, ma sono poco funzionali per il lettore perché non danno nessuna informazione sull’argomento trattato.

Alto DX è una categoria funzionale all’impaginazione del sito, ma incomprensibile per il lettore.

Ecco che allora può essere utile “nascondere” all’occhio del lettore queste categorie “di servizio” pur mantenendole attive e utilizzabili dalle opzioni del tema che avete scelto in modo da non compromettere la corretta collocazione dei vostri contenuti all’interno della pagina.

Nascondere la visualizzazione di una categoria in WordPress

Per nascondere il nome di una categoria (o più di una, se necessario), è possibile utilizzare questo codice che ho trovato su wordpress.stackexange.com :

add_filter('get_the_terms', 'hide_categories_terms', 10, 3);
function hide_categories_terms($terms, $post_id, $taxonomy){

    // define which category IDs you want to hide
    $excludeIDs = array(6);

    // get all the terms 
    $exclude = array();
    foreach ($excludeIDs as $id) {
        $exclude[] = get_term_by('id', $id, 'category');
    }

    // filter the categories
    if (!is_admin()) {
        foreach($terms as $key => $term){
            if($term->taxonomy == "category"){
                foreach ($exclude as $exKey => $exTerm) {
                    if($term->term_id == $exTerm->term_id) unset($terms[$key]);
                }
            }
        }
    }

    return $terms;
}

Vi basterà andare a modificare la riga

$excludeIDs = array(6);

andando a sostituire a “6” l’ID – o gli ID, separati da virgola – delle categorie che vorrete nascondere.
Tutto questo codice va inserito all’interno del file functions.php del vostro tema.
Per modifiche di questo tipo vi consiglio sempre la creazione di un tema child; in questo modo eviterete di personalizzare il tema originale e in caso di update non perderete tutta la personalizzazione.

That’s it! Facile, vero?

Photo by Chris Ried on Unsplash

Di Matteo Galli

Classe '83. Le cassette prima le ho usate con un Commodore 64 e solo dopo in un Walkman. Connesso dal 1993, senza soluzione di continuità. Interista integralista. Apple addicted. Milanese di nascita. Partenopeo d'adozione.
Head of Communication in bSmart Labs e consulente di comunicazione digitale con particolare focus sui liberi professionisti e le micro imprese.