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]- Ocultar categoría del widget de categorías, por código.
- Ocultarlas a través de plugins
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.
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?