1. Inicio
  2. Base de Conocimientos
  3. Cómo solucionar la visibilidad de productos mayoristas en Bricks Builder

Cómo solucionar la visibilidad de productos mayoristas en Bricks Builder

Si estás usando Bricks Builder, es posible que notes que los productos restringidos para mayoristas todavía aparecen para invitados o usuarios minoristas. Esto sucede porque Bricks utiliza su propio sistema de consultas, que omite los filtros estándar de WooCommerce en los que se basa Wholesale Prices Premium. Esta guía te muestra cómo agregar un simple fragmento de código que obliga a Bricks a respetar tus reglas de visibilidad de WWPP existentes, sin configuración adicional.

Requisitos previos

Antes de empezar, asegúrate de tener:

  • WooCommerce Wholesale Prices Premium instalado y activo
  • Bricks Builder instalado y activo
  • Un plugin de gestión de fragmentos de código (por ejemplo, WPCode) o acceso al archivo functions.php de tu tema hijo

Paso 1: Abre tu gestor de fragmentos de código

  1. Ve a tu panel de WordPress.
  2. Navega a Code Snippets (o tu plugin de gestor de fragmentos preferido).
  3. Haz clic en Add New.
La página Añadir nuevo fragmento de WPCode en el administrador de WordPress mostrando el editor de fragmentos vacío

Paso 2: Configura el tipo de fragmento

  1. Selecciona PHP Snippet como tipo.
  2. Dale un título descriptivo, como: Solucionar visibilidad de productos mayoristas en Bricks Builder
Editor de fragmentos de WPCode con el tipo de fragmento PHP seleccionado y el título rellenado

Paso 3: Pega el código

Copia y pega el siguiente fragmento en el editor:

/**
 * Make Bricks product queries (Products element) respect
 * WooCommerce Wholesale Prices Premium product visibility.
 */

add_filter(
    'bricks/posts/query_vars',
    function ( $query_vars, $settings, $element_id, $element_name ) {
        // Only affect product queries
        $post_type = $query_vars['post_type'] ?? null;
        $is_product_query =
            ( is_string( $post_type ) && 'product' === $post_type ) ||
            ( is_array( $post_type ) && in_array( 'product', $post_type, true ) );

        if ( ! $is_product_query ) {
            return $query_vars;
        }

        // Ensure WWPP is available
        global $wc_wholesale_prices_premium;
        if (
            ! isset( $wc_wholesale_prices_premium ) ||
            ! isset( $wc_wholesale_prices_premium->wwpp_query )
        ) {
            return $query_vars;
        }

        // Let WWPP apply its standard wholesale visibility logic
        // (same as for WC widgets & shortcodes)
        $query_vars = $wc_wholesale_prices_premium->wwpp_query->pre_get_posts_arg( $query_vars );

        return $query_vars;
    },
    20,
    4
);
Editor de WPCode con el código de corrección de visibilidad de productos de Bricks Builder pegado

Paso 4: Configura la ubicación de ejecución

  1. Configura el fragmento para que se ejecute en el Front End o en Everywhere.

Esto asegura que el fragmento se cargue durante las consultas de archivo de productos en el front-end de tu tienda.

Ajustes de inserción de WPCode con la Ubicación establecida en Solo frontend

Paso 5: Guarda el fragmento

  1. Haz clic en Save.

Paso 6: Activa el fragmento

  1. Cambia el fragmento a Active.

La solución ya está activa en tu tienda.

Página de detalles del fragmento de WPCode con el interruptor Activo activado mostrando éxito

Cómo verificar que funciona

  1. Cierra sesión en tu cuenta de WordPress o abre una ventana de navegador privada.
  2. Visita una página de archivo de productos impulsada por Bricks.
  3. Confirma que los productos restringidos para mayoristas ya no son visibles para invitados o visitantes minoristas.
  4. Inicia sesión con una cuenta de rol mayorista y verifica que esos productos aparecen como se espera.

Solución de problemas

Los productos restringidos siguen siendo visibles después de agregar el fragmento

  1. Confirma que el fragmento está configurado como Active en tu gestor de fragmentos.
  2. Ve a WooCommerce > Settings > Wholesale Prices > Help y comprueba que Only show wholesale products to wholesale users está habilitado.
  3. Borra cualquier plugin de caché (p. ej., WP Super Cache, W3 Total Cache, LiteSpeed Cache).
  4. Abre una ventana de navegador privada/incógnita y vuelve a probar.

El fragmento provoca una pantalla en blanco o un error PHP

  1. Desactiva el fragmento inmediatamente a través de tu gestor de fragmentos.
  2. Confirma que WooCommerce Wholesale Prices Premium y Bricks Builder están activos y actualizados.
  3. Reactiva el fragmento y vuelve a probar.

Preguntas frecuentes

¿Funcionará esta solución con cualquier versión de Bricks Builder?

Sí. El fragmento se engancha al filtro bricks/posts/query_vars, que está disponible en todas las versiones actuales de Bricks Builder que utilizan el elemento de Productos.

¿Necesito configurar algo en WWPP después de añadir el código?

No. La solución utiliza automáticamente tus ajustes de visibilidad WWPP existentes — la misma lógica que ya se aplica a los widgets y shortcodes de WooCommerce.

¿Afecta esto a tipos de publicaciones que no sean de productos en Bricks?

No. La solución solo se activa en consultas donde el tipo de publicación es product. Todas las demás consultas de Bricks permanecen completamente sin afectar.

¿Qué pasa si los productos restringidos siguen siendo visibles después de añadir el código?

Primero, confirma que el fragmento está activo. A continuación, comprueba que tu ajuste de WWPP “Solo mostrar productos mayoristas a usuarios mayoristas” esté habilitado. Luego, borra cualquier plugin de caché y vuelve a probar en una ventana de navegador privada. Consulta la sección de Solución de problemas anterior para ver los pasos completos.

¿Necesitas ayuda?

Si tienes alguna pregunta o encuentras algún problema, estamos aquí para ayudarte.

¿Te ha resultado útil este artículo?
Completa tu Compra