El cliente otro día nuestro cliente EuroPalets Group nos planteó un reto interesante, montar en su sitio web bajo WooCommerce 2.3 una tienda y un catálogo online simultáneamente. Concretamente un catálogo virtual para sus visitantes y una tienda online para sus usuarios registrados.

El problema es que no encontramos ningún plugin para WooCommerce que nos permitiera mostrar un catálogo online a los visitantes y una tienda virtual estándar a los usuarios registrados.

Solución

Lo primero que hicimos fue desactivar la opción Habilitar registro en el "Mi Cuenta" página, que se encuentra en WooCommerce -> Ajustes -> Cuentas. De esta forma EuroPalets Group se asegura que ningún visitante se registre indebidamente en la tienda virtual.

Después creamos una serie de funciones PHP en el archivo functions.php del tema hijo que hacen que no se muestre el botón de añadir al carro en un producto o en los listados de productos. Además oculta completamente los precios y el carrito situado en la cabecera, a través de una hoja de estilo CSS, y pone en estado Borrador las páginas del carro y el pedido.

Aquí tienes el código PHP empleado en nuestro caso:

Y la hoja de estilo CSS utilizada, en nuestro caso concreto, dentro del archivo catalogo.css:

.add_to_cart_button, #product_price, .tb_price_holder, #cart_menu, #shop_info .amount {
    display: none !important;
}

Resultado

Si el visitante no es un usuario registrado verá un catálogo online similar a esta captura: