Cambiar el rol de un usuario en WooCommerce si realiza una compra mayor

En este artículo, aprenderás a cambiar automáticamente el rol de un usuario en WooCommerce si realiza una compra superior a un monto específico. Para este ejemplo, crearemos un nuevo rol llamado «Vip User» y asignaremos este rol a los usuarios que cumplan con el criterio.

 

Crear el rol «Vip User»

Antes de cambiar el rol de los usuarios, debemos asegurarnos de que el rol «Vip User» exista. Para ello, podemos añadir el siguiente código en el archivo  functions.php de nuestro tema o en un plugin personalizado:

<?php
function create_vip_user_role() {
    add_role( 'vip_user', 'Vip User', [
        'read'         => true,
        'edit_posts'   => false,
        'delete_posts' => false,
    ]);
}
add_action( 'init', 'create_vip_user_role' );

Este código define el rol «Vip User» con permisos básicos de lectura.

 

Cambiar el rol de usuario después de una compra

Para asignar el rol «Vip User» a un comprador que supere un monto específico, podemos usar el siguiente snippet:

<?php
function change_user_role_on_high_purchase( $order_id ) {
    // Obtener el pedido
    $order = wc_get_order( $order_id );
    
    if ( ! $order ) {
        return;
    }
    
    // Obtener el usuario
    $user_id = $order->get_user_id();
    if ( ! $user_id ) {
        return;
    }
    
    // Definir el monto mínimo para ser VIP
    $min_vip_amount = 100; // Cambia esto al monto deseado
    
    // Obtener el total de la orden
    $order_total = $order->get_total();
    
    // Verificar si el total supera el mínimo
    if ( $order_total >= $min_vip_amount ) {
        $user = new WP_User( $user_id );
        
        // Asignar el nuevo rol y eliminar el anterior
        $user->set_role( 'vip_user' );
    }
}
add_action( 'woocommerce_thankyou', 'change_user_role_on_high_purchase' );
  1. Obtenemos el objeto del pedido con  wc_get_order( $order_id ).
  2. Extraemos el user_id del comprador.
  3. Definimos un monto mínimo de compra para ser considerado «Vip User».
  4. Comparamos el total de la compra con el monto mínimo.
  5. Si el monto es igual o superior, asignamos el rol «Vip User» al usuario.

 

Probando el código

Para verificar que el cambio de rol funciona correctamente:

  1. Realiza una compra con un usuario de prueba.
  2. Asegúrate de que el total de la compra supere el monto definido.
  3. Revisa en Usuarios > Todos los usuarios dentro de WordPress si el rol ha cambiado a «Vip User».

Con este método, puedes implementar fácilmente un sistema de membresía VIP basado en compras en tu tienda WooCommerce.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to Top
0
Would love your thoughts, please comment.x
()
x