• By Nacho
  • 22 de julio de 2024

Mostrar categorías y excluirlas en la página de Tienda de WooCommerce

Mostrar categorías y excluirlas en la página de Tienda de WooCommerce

Mostrar categorías y excluirlas en la página de Tienda de WooCommerce 1024 683 Nacho

WooCommerce es una poderosa herramienta para gestionar tiendas en línea dentro de WordPress. Una de las configuraciones comunes que los dueños de tiendas desean implementar es mostrar las subcategorías en la página de la tienda en lugar de los productos directamente. Además, puede haber la necesidad de excluir ciertas categorías específicas, como «Productos Destacados», de esta vista. En este artículo, te guiaremos paso a paso para lograr ambas cosas.

Mostrando categorías en la Página por defecto de la Tienda

Utilizando la Configuración de WooCommerce

WooCommerce facilita la configuración para mostrar categorías en lugar de productos mediante su interfaz de administración. Aquí te explicamos cómo hacerlo:

  1. Accede a los Ajustes de WooCommerce:
    • Desde el panel de administración de WordPress, navega a WooCommerce > Ajustes.
  2. Configura la Visualización de Categorías:
    • Selecciona la pestaña Productos y luego la subpestaña Mostrar.
    • En la sección Página de la tienda, encuentra la opción Mostrar en la página de la tienda.
    • Cambia esta opción a Mostrar categorías o Mostrar subcategorías y productos.
  3. Guarda los Cambios:
    • Asegúrate de guardar los cambios una vez que hayas ajustado la configuración.

Utilizando el Personalizador de Temas

Otra forma de configurar esta opción es a través del Personalizador de Temas de WordPress:

  1. Accede al Personalizador del Tema:
    • Ve a Apariencia > Personalizar.
  2. Configura la Visualización del Catálogo:
    • Dentro del personalizador, selecciona WooCommerce > Catálogo de productos.
    • Cambia la opción de Mostrar en la página de la tienda a Categorías o Subcategorías.
  3. Guardar y Publicar:
    • Guarda y publica los cambios.

Excluyendo una Categoría Específica de la Página de la Tienda

Supongamos que tienes una categoría de «Productos Destacados» que no deseas mostrar en la página de la tienda. Para lograr esto, puedes agregar un pequeño fragmento de código en el archivo functions.php de tu tema en WordPress.

Pasos para Excluir una Categoría

  1. Accede al archivo functions.php:
    • Desde el panel de administración de WordPress, ve a Apariencia > Editor de temas y selecciona el archivo functions.php de tu tema activo.
    • Alternativamente, puedes usar FTP o el administrador de archivos de tu hosting para acceder a este archivo.
  2. Añade el Código para Excluir la Categoría:
    • Copia y pega el siguiente código en el archivo functions.php. Este código excluirá la categoría con ID 52 (Productos Destacados) de la página de la tienda. Esto es bastante útil para categorías como «Productos Destacados», utilizada para mostrar determinados productos en la página de inicio (por ejemplo).
// Excluir categoría con ID 52 de la página de la tienda
add_filter('woocommerce_product_subcategories_args', 'excluir_categoria_destacados');

function excluir_categoria_destacados($args) {
    $exclude = 52; // ID de la categoría que quieres excluir

    if (!is_admin() && is_shop()) {
        $args['exclude'] = $exclude;
    }

    return $args;
}

Guarda los cambios en el fichero y comprueba las modificaciones.

  • Filtro woocommerce_product_subcategories_args: Modifica los argumentos de la consulta que obtiene las subcategorías de productos.
  • Función excluir_categoria_destacados: Añade el ID de la categoría que se desea excluir a los argumentos de la consulta.
  • Condiciones !is_admin() && is_shop(): Asegura que el código solo se ejecute en el frontend y específicamente en la página de la tienda.

Con estos pasos, podrás mostrar las categorías en la página de la tienda de WooCommerce y excluir categorías que no quieras que se muestren, como la categoría de «Productos Destacados» o cualquier otra categoría que desees, empleada para fines concretos de la página web.

Dejar una Respuesta