C'è un modo rapido per nascondere una categoria ovunque?

20 ott 2011, 01:03:13
Visualizzazioni: 21.2K
Voti: 2

Vorrei sbarazzarmi di alcuni post vecchi che non voglio più mantenere. Stavo pensando di creare una categoria chiamata 'old' e usarla come cestino per metterci tutti i vecchi post che non mi piacciono.

Il motivo per cui non li cancello semplicemente è il traffico da Google. Alcune di queste pagine ricevono 1-2 visite al giorno, quindi perché non lasciarle? Solo per il traffico AdSense :)

Ad ogni modo.

Ora ho bisogno di un modo per nascondere la categoria 'old' ovunque. Mi serve un metodo veloce e semplice per farlo, preferibilmente attraverso functions.php - non voglio modificare ogni menu e aggiungere -old.

Vorrei anche escludere i post di questa categoria dalla sezione 'articoli correlati'. Ma per questo immagino che dovrò dare un'occhiata al plugin stesso...

Qualche aiuto?

Grazie!

1
Commenti

Penso ci siano altri modi per nascondere una categoria senza codificare, come proteggerla con password o usare un plugin escludi-categorie. Ho cercato in giro e ho trovato questo articolo che puoi consultare: https://passwordprotectwp.com/hide-category-wordpress/

suzie suzie
26 set 2019 08:05:34
Tutte le risposte alla domanda 4
4

pre_get_posts è l'hook corretto per questo

dato che ho appena escluso una categoria in un'altra risposta, la posterò anche qui. Escludere la categoria dal loop di WordPress

basato sull'esempio del codex:

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

add_action('pre_get_posts', 'wpa_31553' );

function wpa_31553( $wp_query ) {

    //$wp_query è passato per riferimento. non abbiamo bisogno di restituire nulla. qualsiasi modifica fatta all'interno di questa funzione influenzerà automaticamente la variabile globale

    $excluded = array(272);  //creato come array nel caso tu debba escludere più di una categoria

    // escludi solo sul front end
    if( !is_admin() ) {
        $wp_query->set('category__not_in', $excluded);
    }
}
7 mar 2012 08:20:45
Commenti

La tua funzione escluderà molto bene i post delle categorie selezionate dal loop nella pagina principale del blog, dalle pagine di elenco delle categorie e dagli archivi, ma non dai widget Post Recenti e Commenti Recenti nella sidebar. Come risolvere questo problema?

Iurie Iurie
25 feb 2014 21:42:47

@lurie Probabilmente è meglio chiedere questa come una domanda separata.

helgatheviking helgatheviking
25 feb 2014 23:41:44

OK, grazie! Ecco la mia domanda: http://wordpress.stackexchange.com/q/136017/25187.

Iurie Iurie
26 feb 2014 15:57:12

In risposta a @TheDeadMedic ho rivisto questo per funzionare su tutte le query: http://wordpress.stackexchange.com/a/136023/6477

helgatheviking helgatheviking
26 feb 2014 18:22:56
2
20 ott 2011 03:19:54
Commenti

Sono contrario all'uso di plugin per compiti minori come questo. Inoltre, impari una cosa o due guardando il codice reale :)

User User
20 ott 2011 15:17:11

il plugin non funziona

User User
15 mar 2012 16:55:53
1

puoi provare questo, aggiungi nel tuo file function.php

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

sostituisci -1 con l'id della tua categoria

20 ott 2011 12:57:47
Commenti

non ha funzionato :(

User User
20 ott 2011 18:46:36
0

puoi provare di nuovo con un tag condizionale

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

xx è la tua categoria

20 ott 2011 19:13:56