Există o modalitate rapidă de a ascunde o categorie de peste tot?

20 oct. 2011, 01:03:13
Vizualizări: 21.2K
Voturi: 2

Vreau să scap de câteva articole vechi pe care nu doresc să le păstrez. M-am gândit să creez o categorie numită 'old' și să o folosesc ca un coș de gunoi pentru tot ce nu-mi place din articolele vechi.

Motivul pentru care nu le șterg pur și simplu este traficul de pe Google. Unele dintre acele pagini primesc 1-2 vizite pe zi, așa că de ce să nu le păstrez? măcar pentru traficul AdSense :)

Oricum.

Acum am nevoie de o modalitate de a ascunde categoria 'old' de peste tot. Am nevoie de o metodă rapidă și simplă pentru a face acest lucru, preferabil prin functions.php - nu vreau să modific fiecare listă de meniu și să adaug -old.

De asemenea, vreau să exclud articolele din această categorie să fie afișate în secțiunea 'articole similare'. Dar pentru asta cred că va trebui să mă uit în plugin-ul în sine...

orice ajutor?

Mulțumesc!

1
Comentarii

Cred că există și alte metode de a ascunde o categorie fără cod, cum ar fi protejarea cu parolă sau utilizarea unui plugin de excludere a categoriilor. Am căutat și am găsit acest articol pe care îl poți consulta: https://passwordprotectwp.com/hide-category-wordpress/

suzie suzie
26 sept. 2019 08:05:34
Toate răspunsurile la întrebare 4
4

pre_get_posts este hook-ul potrivit pentru această situație

deoarece tocmai am implementat excluderea de categorii într-un alt răspuns, voi posta aici și soluția. Excluderea categoriei din bucla WordPress

bazat pe exemplul din codex:

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

add_action('pre_get_posts', 'wpa_31553' );

function wpa_31553( $wp_query ) {

    //$wp_query este transmis prin referință. nu este nevoie să returnăm nimic. orice modificare făcută în interiorul acestei funcții va afecta automat variabila globală

    $excluded = array(272);  //am transformat-o în array în caz că trebuie să excludem mai multe categorii

    // excludem doar în front-end
    if( !is_admin() ) {
        $wp_query->set('category__not_in', $excluded);
    }
}
7 mar. 2012 08:20:45
Comentarii

Funcția ta va exclude postările din categoriile selectate din bucla pe pagina principală de listare a blogului, din paginile de listare a categoriilor și din arhive foarte bine, dar nu și din widget-urile Postări recente și Comentarii recente din bara laterală. Cum să rezolvăm această problemă?

Iurie Iurie
25 feb. 2014 21:42:47

@lurie Cel mai bine este să pui această întrebare separat.

helgatheviking helgatheviking
25 feb. 2014 23:41:44

OK, mulțumesc! Iată întrebarea mea: http://wordpress.stackexchange.com/q/136017/25187.

Iurie Iurie
26 feb. 2014 15:57:12

Conform răspunsului lui @TheDeadMedic, am revizuit acest lucru pentru a funcționa pe toate interogările: http://wordpress.stackexchange.com/a/136023/6477

helgatheviking helgatheviking
26 feb. 2014 18:22:56
2

Există un plugin pentru asta :-)

http://wordpress.org/extend/plugins/hide-categories/

20 oct. 2011 03:19:54
Comentarii

Sunt împotriva utilizării de plugin-uri pentru sarcini minore ca aceasta. În plus, înveți câte ceva uitându-te la codul real :)

User User
20 oct. 2011 15:17:11

plugin-ul nu funcționează

User User
15 mar. 2012 16:55:53
1

poți încerca asta, adaugă în fișierul tău functions.php

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

înlocuiește -1 cu ID-ul categoriei tale

20 oct. 2011 12:57:47
Comentarii

nu a funcționat :(

User User
20 oct. 2011 18:46:36
0

poți încerca din nou cu un tag condițional

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

xx reprezintă categoria ta

20 oct. 2011 19:13:56