Fany_VanDaal icon

Změna uživatelské role po prvním nákupu

Fany_VanDaal | PRO | 05/23/19 08:55:57 AM UTC | 0 ⭐ | 595 👁️ | Never ⏰ | []
PHP |

1.15 KB

|

None

|

0 👍

/

0 👎

// přiřazení nové role zákazníkovi poté, co je jeho objednávka dokončena
function vandaal_convert_paying_customer( $order_id ) {
 
$order = new WC_Order( $order_id );
 
if ( $order->user_id > 0 ) {
update_user_meta( $order->user_id, 'paying_customer', 1 );
$user = new WP_User( $order->user_id );
 
// odebereme roli
$user->remove_role( 'customer' );
 
// přiřadíme roli
$user->add_role( 'member' );
}
}
add_action( 'woocommerce_order_status_completed', 'vandaal_convert_paying_customer' );
 
[/php]
 
Pokud by jste chtěli novou roli použít ihned po vytvoření objednávky, tedy bez toho, aniž by byl změněn její stav na dokončeno, můžete použít tento snippet:
 
[php]
// přiřazení nové role zákazníkovi po vytvoření objednávky
function vandaal_change_role( $order_id ) {
  $order = new WC_Order($order_id);
  $user = $order->get_user();
    
  // zkontrolujeme, jestli se nejedná o administrátora
  if( false != $user && !user_can($user, 'administrator') ){
  
    // jakou má získat roli
    $role = 'member';
  
    // nastavíme novou roli pro daného zákazníka
    $user->set_role($role);  
   
  }  
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎