// 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
0 B
|👍
/👎