Ocultar precios a usuarios no conectados en WooCommerce
En ocasiones, es posible que desees ocultar los precios de tus productos y el botón de «Agregar al carrito» a los usuarios que no han iniciado sesión en tu tienda WooCommerce. Esto puede ser útil si deseas que solo los usuarios registrados puedan ver los precios y realizar compras. A continuación, te mostraremos cómo lograr esto con algunos fragmentos de código PHP que puedes agregar a tu tema de WordPress.
Ocultar precios para usuarios no conectados
Para ocultar los precios a los usuarios no conectados, agrega el siguiente código al archivo functions.php
de tu tema:
<?php add_filter('woocommerce_get_price_html', 'hide_price_for_guests', 10, 2); function hide_price_for_guests($price, $product) { if (!is_user_logged_in()) { return ''; } return $price; }
Este código utiliza el filtro woocommerce_get_price_html
para verificar si el usuario ha iniciado sesión. Si no es así, el precio se establece como una cadena vacía, ocultando así el precio del producto.
Ocultar el botón de agregar al carrito para usuarios no conectados
Para ocultar el botón de «Agregar al carrito» a los usuarios no conectados, agrega el siguiente código al archivo functions.php
de tu tema:
<?php add_action('woocommerce_single_product_summary', 'hide_add_to_cart_button_for_guests', 1); add_action('woocommerce_after_shop_loop_item', 'hide_add_to_cart_button_for_guests', 1); function hide_add_to_cart_button_for_guests() { if (!is_user_logged_in()) { remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10); } }
Este código utiliza las acciones woocommerce_single_product_summary
y woocommerce_after_shop_loop_item
para eliminar el botón de «Agregar al carrito» si el usuario no ha iniciado sesión.
Mostrar un mensaje a los usuarios no conectados
Es posible que desees mostrar un mensaje a los usuarios no conectados, indicándoles que deben iniciar sesión para ver los precios y poder comprar. Puedes agregar el siguiente código para mostrar un mensaje:
<?php add_action('woocommerce_single_product_summary', 'show_login_message_for_guests', 31); add_action('woocommerce_after_shop_loop_item', 'show_login_message_for_guests', 11); function show_login_message_for_guests() { if (!is_user_logged_in()) { echo '<p class="login-to-see-prices">Por favor, <a href="' . wp_login_url(get_permalink()) . '">inicia sesión</a> para ver los precios y comprar.</p>'; } }
Este código agrega un mensaje justo después de donde se eliminaron los botones de «Agregar al carrito», invitando a los usuarios a iniciar sesión.
Con estos simples fragmentos de código PHP, puedes ocultar los precios y el botón de «Agregar al carrito» a los usuarios que no han iniciado sesión en tu tienda WooCommerce. Esto puede ayudarte a controlar mejor quién puede ver tus precios y realizar compras en tu sitio. Si tienes alguna duda o necesitas asistencia adicional, no dudes en dejar un comentario o ponerte en contacto con nosotros.