Woocommerce меняет роль пользователя при покупкеPhp

Кемеровские программисты php общаются здесь
Anonymous
Woocommerce меняет роль пользователя при покупке

Сообщение Anonymous »

Я пытаюсь использовать этот фрагмент кода, чтобы обновить роль моих пользователей с роли «Подписчик» по умолчанию до роли «Премиум» при покупке продукта в моем магазине.

Код: Выделить всё

add_action( 'woocommerce_order_status_completed','change_role_on_purchase' );
function change_role_on_purchase( $order_id ) {
$order = wc_get_order( $order_id );
$items = $order->get_items();

$products_to_check = array( '416' );

foreach ( $items as $item ) {
if ( $order->user_id > 0 && in_array( $item['product_id'], $products_to_check ) ) {
$user = new WP_User( $order->user_id );

// Change role
$user->remove_role( 'Subscriber' );
$user->add_role( 'Premium' );

// Exit the loop
break;
}
}
}
В моем магазине есть только 1 товар, и он имеет идентификатор продукта 416 (который я вставил в код).

Я поместил это в файл function.php, но мне не повезло. Роль не обновляется после успешной покупки. Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/447 ... n-purchase

Вернуться в «Php»