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