web-dev-qa-db-fra.com

existe-t-il un moyen rapide de masquer la catégorie de partout?

Je veux me débarrasser de certains articles, d'anciens, que je ne veux pas vraiment garder. Je pensais créer une catégorie nommée 'vieux' et l'utiliser comme une poubelle pour jeter tout ce que je n'aime pas dans les vieux posts.

La raison pour laquelle je ne les supprime pas simplement est le trafic google. Certaines de ces pages reçoivent 1 à 2 visites par jour, alors pourquoi ne pas les laisser? juste comme le trafic adsense :)

De toute façon.

Maintenant, j'ai besoin d'un moyen de cacher la catégorie 'vieux' de partout. J'ai besoin d'un moyen rapide et sale de le faire, de préférence via functions.php - vous ne voulez pas changer chaque liste de menu et ajouter -old.

Je souhaite également exclure les publications de cette catégorie de la section "publications connexes". Mais pour cela, je suppose que je devrai regarder dans le plugin lui-même ...

de l'aide?

Merci!

1
user8842

pre_get_posts est le bon crochet pour cela

puisque je viens de faire l'exclusion de catégorie dans une autre réponse, je vais le poster ici aussi. Exclure la catégorie de la boucle WordPress

sur la base de l'échantillon du codex:

http://codex.wordpress.org/Custom_Queries#Category_Exclusion

add_action('pre_get_posts', 'wpa_31553' );

function wpa_31553( $wp_query ) {

    //$wp_query is passed by reference.  we don't need to return anything. whatever changes made inside this function will automatically effect the global variable

    $excluded = array(272);  //made it an array in case you need to exclude more than one

    // only exclude on the front end
    if( !is_admin() ) {
        $wp_query->set('category__not_in', $excluded);
    }
}
3
helgatheviking
2
Niels

pouvez-vous essayer cela, ajoutez dans votre function.php

add_action('pre_get_posts', 'block_category' );
function block_category() {
global $wp_query;   
$wp_query->query_vars['cat'] = '-1';
}

remplacez -1 par votre identifiant de chat

0
saq

pouvez-vous essayer à nouveau avec une balise conditionnelle

function exclude_category($query) {
if ( $query->is_home ) {
    $query->set('cat', '-xx');
}
return $query;
}

xx est votre catégorie

0
saq