Excluir categorías del widget de WordPress

Widget de categorias de WordPressSi alguna vez has utilizado el widget de categorías que viene con WordPress, habrás comprobado que sirve para publicar una lista que incluye todas las categorías creadas, con la opción de especificar el número de entradas guardadas dentro de cada una, y mostrarlas en forma de lista o bien como desplegable.

Lo que no permite es excluir u ocultar categorías de esa lista, por lo que tendremos que utilizar otro sistema, como por ejemplo utilizar el widget «Menú personalizado» para añadir un menú a medida con las categorías que queremos mostrar, o bien instalar algún plugin que amplie las posibilidades de este widget.

Pero hay otra opción, que consiste en añadir parámetros a los filtros widget_categories_args y widget_categories_dropdown_args, para que se ejecuten antes de crear la lista. Así, si por ejemplo tenemos una sección con entradas privadas, podemos especificar el ID de esa categoría especial para que no aparezca en el widget.

Este código hace exactamente eso. Podemos incluirlo en el archivo functions.php del tema activo o mejor aun, añadirlo en un plugin de funciones, para no perderlo si cambiamos o actualizamos el tema de WordPress:

// -----------------------------------------------
// Excluir categorías del widget de WordPress
// -----------------------------------------------
function exclude_widget_categories($args) {

	// ID de la categoría que queremos excluir.
	// Si son varias, separar con comas: '25,32,65'
	$excluded = '25'; 

	$args['exclude'] = $excluded;
	return $args;

}
add_filter( 'widget_categories_args', 'exclude_widget_categories', 10, 1 ); // Si utilizamos el formato de lista
add_filter( 'widget_categories_dropdown_args', 'exclude_widget_categories', 10, 1 ); // Si utilizamos el formato desplegable

El número que identifica cada categoría lo podemos conseguir desde Entradas > Categorías. Si pulsamos o pasamos el cursor sobre la que nos interesa, veremos en la URL el parámetro que muestra este identificador.

El primer filtro (widget_categories_args) eliminará las categorías cuando configuramos el widget como lista, y el segundo (widget_categories_dropdown_args) afecta sólo al widget en modo desplegable. Podemos eliminar uno u otro, según el que vayamos a utilizar.

Entrada relacionada: Cómo proteger una categoría de WordPress con nombre de usuario y contraseña

Comentarios

¿Y tú qué opinas?

Las URLs se convertirán en enlaces automáticamente. Tu dirección de email no se publicará ni se utilizará para enviar ningún tipo de información. Los mensajes que no aporten nada al tema que se trata en esta entrada se borrarán. Las imágenes que aparecen al lado de cada autor utilizan el servicio de Gravatar. Recuerda que puedes usar etiquetas HTML como <a href>, <code>, <em> o <strong> en los comentarios.

(necesario)

(opcional)

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.