Avisos
Vaciar todo

página carrito personalizar  

 
ALBERTO
 ALBERTO
Noble Member

Como puede verse en el adjunto en la página de carrito hay un aviso que pone que los portes están incluidos a partir de 700€...esto es para el perfil de usuario mayorista, pero para perfil tienda esa cifra de portes incluidos es de 150€...¿cómo pudo manejar esto?...que cada usuario vea este texto con su cifra?

 

Se podría crear una página carrito para cada usuario?

Screenshot 2024 09 24 at 10.21.45
Screenshot 2024 09 24 at 10.23.17

Contenido solo visible a usuarios registrados

Citar
Respondido : 24/09/2024 9:28 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alberto.

Te voy a poner un ejemplo que tendrás que adapta con el mensaje y los roles de usuario:

 

add_action( 'woocommerce_before_cart', 'mensaje_segun_rol_usuario' );

function mensaje_segun_rol_usuario() {
// Obtén el usuario actual
$current_user = wp_get_current_user();

// Verifica si el usuario está logueado
if ( is_user_logged_in() ) {
// Obtén los roles del usuario
$user_roles = $current_user->roles;

// Mensajes personalizados según el rol
if ( in_array( 'administrator', $user_roles ) ) {
echo '<div class="woocommerce-info">Hola Administrador, tienes acceso a todo el catálogo completo.</div>';
} elseif ( in_array( 'customer', $user_roles ) ) {
echo '<div class="woocommerce-info">Gracias por ser nuestro cliente. Disfruta de un 10% de descuento en tu próxima compra.</div>';
} elseif ( in_array( 'subscriber', $user_roles ) ) {
echo '<div class="woocommerce-info">Hola suscriptor, revisa las últimas ofertas en el catálogo.</div>';
} else {
echo '<div class="woocommerce-info">¡Bienvenido! ¿No tienes cuenta aún? Regístrate para obtener beneficios exclusivos.</div>';
}
} else {
// Mensaje para usuarios no logueados
echo '<div class="woocommerce-info">¡Hola visitante! Regístrate o inicia sesión para obtener descuentos especiales.</div>';
}
}

 

Tienes que modificar los roles " in_array( 'administrator' " por los que tienes creados y tendrás que modificar también los textos que se mostraran.

 

Explicación del código:

  • woocommerce_before_cart: Este hook se utiliza para ejecutar el código justo antes de que se muestre el contenido del carrito en WooCommerce.
  • wp_get_current_user(): Obtiene los datos del usuario actual, incluidos sus roles.
  • is_user_logged_in(): Verifica si el usuario está logueado.
  • in_array( 'role', $user_roles ): Comprueba si el usuario tiene un rol específico (por ejemplo, administrator, customer, subscriber, etc.).
  • Mensajes personalizados: Dentro de cada condición, se muestra un mensaje diferente dependiendo del rol del usuario.

Personalización de roles:

Si tienes otros roles personalizados en tu sitio, puedes agregar más elseif para mostrar mensajes específicos para esos roles. Solo necesitas reemplazar 'administrator', 'customer', o 'subscriber' por el nombre del rol que quieras utilizar.

 

Puedes añadir el código en el archivo functions.php o si utilizas algún plugin para añadir código como puede ser Code Snippets

 

Un Saludo

ResponderCitar
Respondido : 24/09/2024 10:17 am