Cómo ocultar los precios de los productos según el rol del usuario Storefront

Publicado: 2020-11-03

Ocultar precios de productos según el rol del usuario en WooCommerce Storefront El precio es muy importante en cualquier tienda de comercio electrónico. Esto se debe a que los precios son el centro de su investigación, comparaciones de productos y análisis de tendencias. Es posible que desee ocultar los precios de los productos en función de ciertos roles de usuario en su tienda WooCommerce como estrategia de marketing.

Sin embargo, WooCommerce, por defecto, no tiene una opción para ocultar precios. Esta publicación se centra en la fijación de precios según el rol del usuario, o la falta del mismo (usuarios invitados).

Escaparate Ocultar precios de productos según el rol del usuario

El principal objetivo de hacer esto es animar a los usuarios a registrarse para ver los precios. Si desea agregar esta funcionalidad, quédese hasta el final. La mejor parte es que te daré una guía paso a paso sobre cómo ocultar los precios. Sin embargo, es necesario tener algunos conocimientos técnicos.

¿Por qué ocultar el precio hasta iniciar sesión?

Es posible que muchas tiendas no quieran que todos naveguen por su tienda en línea y vean su catálogo de productos. Estos son algunos ejemplos de tiendas que suelen ocultar el precio:

  • Tiendas mayoristas que no venden directamente al público en general
  • Fabricantes que publican detalles de sus productos pero permiten que los revendedores aprobados les compren.
  • Tiendas solo para miembros de WooCommerce

Pasos para ocultar precios para usuarios invitados

Lo primero que debe hacer es ocultar los precios para todos los usuarios que no hayan iniciado sesión. Estos son los pasos que debe seguir:

  1. Inicie sesión en su sitio de WordPress y acceda al Panel como usuario administrador.
  2. En el menú del panel, haga clic en Menú de apariencia > Menú del editor de temas . Cuando se abra la página del Editor de temas, busque el archivo de funciones del tema para ocultar los precios de los usuarios invitados.
  3. Agregue el siguiente código a las funciones. php del tema Storefront.
 /**

 * Ocultar el precio del producto según el rol del usuario.

 */

función njengah_hide_prices_guests ($ precio) {

            si (! es_usuario_logged_in()) {

                        regreso ''; // Devuelve una cadena vacía para que no se muestre el precio.
            }

            devolver $precio;
}
add_filter('woocommerce_get_price_html', 'njengah_hide_prices_guests'); // Ocultar precio del producto
  1. Este es el resultado: ocultar productos a los invitados

Pasos para ocultar el carrito y los precios y totales de pago para usuarios invitados

El siguiente paso es ocultar el carrito y pagar los precios y los totales. Agregue las siguientes líneas en el archivo functions.php. Estos son los pasos que debe seguir:

  1. Inicie sesión en su sitio de WordPress y acceda al Panel como usuario administrador.
  2. En el menú del panel, haga clic en Menú de apariencia > Menú del editor de temas . Cuando se abra la página del Editor de temas, busque el archivo de funciones del tema para ocultar el carrito y pagar los precios y los totales para los usuarios invitados.
  3. Agregue el siguiente código a las funciones. php del tema Storefront.
 // Carrito

add_filter('woocommerce_cart_item_price', 'njengah_hide_prices_guests'); // Ocultar el precio del artículo del carrito

add_filter('woocommerce_cart_item_subtotal', 'njengah_hide_prices_guests'); // Ocultar carrito precio total 

ocultar precios del carrito

  1. Para eliminar los encabezados de las tablas "Precio" y "Total", puede usar un fragmento de CSS para ocultarlo. Este fragmento de PHP solo agregará el CSS cuando el usuario no haya iniciado sesión:
 /**

* Ocultar encabezados de tabla de precio/total con CSS.

*/

función njengah_hide_cart_checkout_price_headings_guests() {

si (! es_usuario_logged_in()) {

?><estilo>

.precio-producto, .subtotal-producto, /* Carrito */

.woocommerce-mini-cart__total, /* Widget de carrito */

.product-total, .cart-subtotal, .order-total /* Pagar */

{ pantalla: ninguno !importante; }

</estilo><?php

}

}

add_action('wp_head', 'njengah_hide_cart_checkout_price_headings_guests');
  1. Este es el resultado: quitar precio y total

Si su tienda tiene un rol de usuario mayorista, también puede ocultar los precios para usuarios habituales o invitados. El siguiente fragmento de código solo mostrará precios para clientes mayoristas. Debe agregarse en el archivo functions.php:

 /**

* Ocultar el precio del producto según el rol del usuario (o la falta del mismo).

*/

función njengah_hide_prices_user_role ($ precio) {

$usuario_actual = wp_get_usuario_actual();

$roles_permitidos = array( 'mayorista', 'administrador' );

if ( ! array_intersect( $usuario_actual->roles, $roles_permitidos) ) {

regreso '';

}

devolver $precio;

}

add_filter('woocommerce_get_price_html', 'njengah_hide_prices_user_role'); // Ocultar precio del producto

// Carrito

add_filter('woocommerce_cart_item_price', 'njengah_hide_prices_user_role'); // Ocultar el precio del artículo del carrito

add_filter('woocommerce_cart_item_subtotal', 'njengah_hide_prices_user_role'); // Ocultar carrito precio total

// Totales de pago

add_filter('woocommerce_cart_subtotal', 'njengah_hide_prices_user_role'); // Ocultar el precio subtotal del carrito

add_filter('woocommerce_cart_total', 'njengah_hide_prices_user_role'); // Ocultar carrito precio total

/**

* Ocultar encabezados de tabla de precio/total con CSS.

*/

función njengah_hide_cart_checkout_price_headings() {

$usuario_actual = wp_get_usuario_actual();

$roles_permitidos = array( 'mayorista', 'administrador' );

if ( ! array_intersect( $usuario_actual->roles, $roles_permitidos) ) {

?><estilo>

.precio-producto, .subtotal-producto, /* Carrito */

.woocommerce-mini-cart__total, /* Widget de carrito */

.product-total, .cart-subtotal, .order-total /* Pagar */

{ pantalla: ninguno !importante; }

</estilo><?php

}

}

add_action('wp_head', 'njengah_hide_cart_checkout_price_headings');

Conclusión

En resumen, he compartido cómo puede ocultar precios y mostrárselos a los mayoristas. Sin embargo, puede modificar el rol de usuario 'mayorista' a su slug de rol de usuario en el que le gustaría mostrar los precios de los productos. Además, también agregué el rol de 'administrador', para que los administradores también vean los precios. Además, sabrá cómo agregar roles de usuario adicionales que verán los precios de los productos.

Artículos similares