¿Hay una manera rápida de ocultar una categoría de todas partes?

20 oct 2011, 01:03:13
Vistas: 21.2K
Votos: 2

Quiero deshacerme de algunas entradas antiguas que realmente no quiero mantener. Estaba pensando en crear una categoría llamada 'old' y usarla como papelera para todo lo que no me gusta de las entradas antiguas.

La razón por la que no las elimino simplemente es el tráfico de Google. Algunas de esas páginas reciben 1-2 visitas al día, así que ¿por qué no dejarlas? simplemente como tráfico para AdSense :)

En fin.

Ahora necesito una manera de ocultar la categoría 'old' de todas partes. Necesito una forma rápida y sencilla de hacer esto, preferiblemente a través de functions.php - no quiero cambiar cada listado de menú y añadir -old.

También quiero excluir las entradas dentro de esta categoría de ser mostradas en la sección de 'entradas relacionadas'. Pero para esto supongo que tendré que echar un vistazo al plugin en sí...

¿alguna ayuda?

¡Gracias!

1
Comentarios

Creo que hay otras formas de ocultar una categoría sin necesidad de codificar, como protegerla con contraseña o usar un plugin excluidor de categorías. He buscado y encontrado este artículo que puedes consultar como referencia: https://passwordprotectwp.com/hide-category-wordpress/

suzie suzie
26 sept 2019 08:05:34
Todas las respuestas a la pregunta 4
4

pre_get_posts es el hook adecuado para esto

Como acabo de hacer una exclusión de categoría en otra respuesta, también la publicaré aquí. Excluir la categoría del bucle de WordPress

Basado en el ejemplo del codex:

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

add_action('pre_get_posts', 'wpa_31553' );

function wpa_31553( $wp_query ) {

    // $wp_query se pasa por referencia. No necesitamos devolver nada. Cualquier cambio hecho dentro de esta función afectará automáticamente a la variable global

    $excluded = array(272);  // Lo convertí en un array en caso de que necesites excluir más de una categoría

    // Solo excluir en el front-end
    if( !is_admin() ) {
        $wp_query->set('category__not_in', $excluded);
    }
}
7 mar 2012 08:20:45
Comentarios

Tu función excluirá publicaciones de categorías seleccionadas del bucle en la página principal del listado del blog, de las páginas de listado de categorías y de los archivos muy bien, pero no de los widgets de Publicaciones Recientes ni de los widgets de Comentarios Recientes en la barra lateral. ¿Cómo resolver esto?

Iurie Iurie
25 feb 2014 21:42:47

@lurie Probablemente sea mejor hacer esto como una pregunta separada.

helgatheviking helgatheviking
25 feb 2014 23:41:44

OK, ¡gracias! Aquí está mi pregunta: http://wordpress.stackexchange.com/q/136017/25187.

Iurie Iurie
26 feb 2014 15:57:12

Según la respuesta de @TheDeadMedic, he revisado esto para que funcione en todas las consultas: http://wordpress.stackexchange.com/a/136023/6477

helgatheviking helgatheviking
26 feb 2014 18:22:56
2
20 oct 2011 03:19:54
Comentarios

Estoy en contra de usar plugins para tareas menores como esta. Además, aprendes un par de cosas viendo código real :)

User User
20 oct 2011 15:17:11

el plugin no funciona

User User
15 mar 2012 16:55:53
1

¿Puedes probar esto? Añade en tu functions.php:

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

Reemplaza el -1 con el ID de tu categoría

20 oct 2011 12:57:47
Comentarios

no funcionó :(

User User
20 oct 2011 18:46:36
0

¿Puedes intentarlo de nuevo con una etiqueta condicional?

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

xx es tu categoría

20 oct 2011 19:13:56