Veteasabertu

Ocultar botón de añadir al carrito a usuarios no registrados en WooCommerce

4 de junio 2017
Ocultar botón de añadir al carrito a usuarios no registrados en WooCommerce

WooCommerce es una de las plataformas actuales más usadas a la hora de montar una tienda online. Su sencillez junto al buen funcionamiento lo hacen una opción ideal para proyectos que no revisten una excesiva complejidad. Esto no quiere decir que no pueda ser ajustado a nuestras necesidades, ya que precisamente al nutrirse de la comunidad de WordPress, existe un gran abanico de complementos que se pueden integrar.

Nosotros vamos a ver cómo añadir una nueva funcionalidad que permita mostrar el botón de añadir al carrito solo a usuarios registrados. De este modo podemos tener una web a modo de catálogo de productos para los usuarios normales y un ecommerce para los registrados, muy útil si somos un proveedor por ejemplo que no hacemos venta al público.

Aunque existen plugins que permiten hacer lo mismo, voy a mostrar cómo implementarlo programando un poco. Para ello, aunque procuraré ir por partes, es recomendable que al menos estés un poco familiarizado con la jerarquía de plantillas que usa WordPress o quizá te resulte un poco confuso inicialmente.

WooCommerce nos permite hacer modificaciones sobre su script sin alterar los archivos originales. Para ello podremos hacer un directorio en la raíz de nuestro tema llamado /woocommerce/ donde ubicaremos una copia de los archivos del plugin que queremos modificar, de modo que éstos tendrán prioridad sobre los originales en la carga de la página. Es importante que a la hora de duplicarlos preservemos la misma estructura que tenían dentro de su ubicación original, donde el directorio /templates/ del plugin será el equivalente a nuestro nuevo directorio /woocommerce/ dentro del tema.

Una vez aclarado lo anterior y entrando ya en materia, iremos a la carpeta /wp-content/plugins/woocommerce/templates/ en nuestra instalación de WordPress. Dentro copiaremos el archivo /loop/add-to-cart.php, que imprime el botón cuando se listan los productos, y también /single-product/add-to-cart/simple.php, cuya función es imprimirlo dentro de la ficha del producto. Pegaremos ambos en el directorio que creamos antes manteniendo la disposición de carpetas que he apuntado y luego los abriremos para editarlos.

Listado de productos

Primero modificaremos /loop/add-to-cart.php que contiene un script similar al siguiente.

Añadiremos un condicional junto con la función is_user_logged_in() para verificar si el usuario ha hecho login antes en imprimir el botón.

Ficha del producto

Después modificaremos el código dentro de la ficha del producto. Para esto es importante que tengas en cuenta que existen distintos tipos de productos y para cada uno WooCommerce tiene un archivo específico. Nosotros vamos a ver el ejemplo de cómo hacerlo con /single-product/add-to-cart/simple.php que es el que muestra la ficha cuando un producto es de tipo simple, pero el método es extrapolable a los otros. Podrás encontrarlos en el mismo directorio y hacer el proceso pertinente dependiendo del modelo de tu tienda.

De nuevo usaremos un condicional y la función is_user_logged_in() para verificar si el usuario está registrado y tiene la sesión abierta.

Con estos cambios nuestro ecommerce ya debería mostrar el botón de añadir al carrito en los productos solo a los usuarios registrados. Sin embargo, como ya he comentado en otras ocasiones, es conveniente aclarar que aquí me baso en una instalación por defecto, de modo que si vas a hacer modificaciones en un tema que ya haya personalizado WooCommerce es posible que el código anterior no sea igual.

Como apunte adicional, si además de esta función quieres también ocultar el precio a usuarios no registrados, en el artículo podrás ver cómo hacerlo modificando los archivos correspondientes también paso a paso.

Publicado por Jesús Tovar

Categorías: PHP, Programación, WordPress

Etiquetas: ,

Un comentario

Pingback

  1. […] terminar, también puedes visitar este otro artículo donde ver paso a paso cómo ocultar el botón de añadir al carrito para los visitantes no registrados. Esta combinación será perfecta para reservar las funciones de ecommerce solo a usuarios que […]

Deja un comentario

Este sitio web utiliza cookies para mejorar la experiencia de usuario, si continúas navegando estás dando tu consentimiento. Para más información pincha aquí.

ACEPTAR
Aviso de cookies