Я добавил продукт подписки WooCommerce (ежемесячную и годовую) для пользователи могут совершить покупку, что дает им специальную роль после успешной оплаты.
Вот код, который я сейчас использую:
Код: Выделить всё
add_action( 'woocommerce_subscription_status_updated', 'wc_subscribe_assign_role', 10, 3 );
function wc_subscribe_assign_role( $subscription, $new_status, $old_status ) {
if ( $new_status === 'active' ) {
$user_id = $subscription->get_user_id(); // Get the user ID of the subscriber
$user = new WP_User( $user_id );
// Assign the "Active Production Company" role upon subscription activation
$user->set_role( 'active_production_company' );
}
}
p>
Я использовал хук woocommerce_subscription_status_updated, надеясь, что он инициирует назначение роли при изменении статуса подписки на «активный». Я ожидал, что это автоматически назначит пользователям роль «Активная производственная компания», что позволит им получить доступ к ограниченной форме.
После тестирования с тестовым заказом ожидаемая роль не была применена. Я проверил документацию по объекту подписки WooCommerce и журналы ошибок, но не смог убедиться, что часть $subscription->get_user_id() работает должным образом. Буду признателен за любые идеи и предложения по надежному обеспечению этой функциональности!
Подробнее здесь: https://stackoverflow.com/questions/791 ... activation
Мобильная версия