CMS WordPress

[WordPress] Ocular categorías del Widget de categorías

Photo by Jaroslav Devia on Unsplash
[titulo]¿Cómo excluir o dejar de mostrar categorías del widget de categorías de WordPress?[/titulo]

WordPress incorpora, de serie, un widget que nos permite listar todas las categorías de Entradas que creemos. Y de la misma forma, el plugin de e-commerce, WooCommerce, incorpora otro para listar las categorías de Productos.

En ambos casos nos encontraremos con el mismo problema: Listarán la categoría «Sin categoría» o «Uncategorized». Una categoría creada de serie para almacenar las entradas o productos a los que no se les asigna una.

Con muchísima frecuencia nos vemos en la imperiosa necesidad de eliminar de nuestro widget esa horrorosidad. Pero es posible que además de esa, queramos ocultar de la vista de nuestros usuarios otras categorías que nosotros utilicemos por temas de SEO, de organización o que tengamos para pruebas.

En este artículo de Loopeando.com, os vamos a explicar cómo hacerlo, tanto por código como a través de plugins.

[resumen]
  1. Ocultar categoría del widget de categorías, por código.
  2. Ocultarlas a través de plugins
[/resumen] [titulo]Ocultar categoría del widget de categorías, por código.[/titulo]

Debemos tener acceso FTP a nuestra web, y acceder al directorio [codigo]/wp-content/themes/tu_tema_activo/[/codigo] donde encontraremos el archivo [codigo]functions.php[/codigo].

Recomendamos realizar una copia de seguridad de dicho archivo y, ya que estamos, lo ideal es editarlo a través de un tema hijo.

En cualquier caso, la idea es editarlo y añadir la siguiente función:

En el caso de querer ocultar una categoría del widget de productos de WooCommerce

add_filter( 'woocommerce_product_categories_widget_dropdown_args', 'rv_exclude_wc_widget_categories' );
add_filter( 'woocommerce_product_categories_widget_args', 'rv_exclude_wc_widget_categories' );
function rv_exclude_wc_widget_categories( $cat_args ) {
	$cat_args['exclude'] = array('184','179', '183', '178', '182', '181', '180'); // IDs de las categorías a ocultar
}

Donde los números separados por comas y entrecomillados, deben ir sustituyéndose por los IDs de las categorías que queramos ocultar.

Esos IDs los podremos encontrar cuando editemos una categoría de producto:

 

Si la categoría a  ocultar es del widget de Entradas de WordPress:

add_filter( 'widget_categories_dropdown_args', 'rv_exclude_wc_widget_categories' );
add_filter( 'widget_categories_args', 'rv_exclude_wc_widget_categories' );
function rv_exclude_wc_widget_categories( $cat_args ) {
	$cat_args['exclude'] = array('184','179', '183', '178', '182', '181', '180'); // IDs de las categorías a ocultar
	return $cat_args;
}

Donde lo que hemos hecho ha sido cambiar los filters de WooCommerce por los de WordPress:

  • woocommerce_product_categories_widget_dropdown_args / widget_categories_dropdown_args 
    Para ocultarla del widget en formato desplegable.
  • woocommerce_product_categories_widget_args / widget_categories_args
    Para ocultarla del widget en formato Lista.

 

[titulo]Ocultarlas a través de plugins[/titulo]

Display Categories Widget [Descargar]

Crea un widget específico que incorpora una opción para seleccionar las categorías que no queremos mostrar. También ofrece la posibilidad de limitar el número de categorías a mostrar.

 

Ultimate Category Excluder [Descargar]

Permite ocultar categorías de todo el front-end o únicamente de algunas partes determinadas.

 

 

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

1 Comentario

Haz clic aquí para dejar tu comentario

  • Buenas tardes, una consulta uso el tema DIVI, y en la carpeta de themes tengo las carpetas Divi y Diviecommerce cual archivo functions.php se debe editar?