Назначение пользовательской роли пользователя при активации подписки WooCommercePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Назначение пользовательской роли пользователя при активации подписки WooCommerce

Сообщение Anonymous »

Я работаю над сайтом WooCommerce, где мне нужно автоматически назначать пользователям специальную роль («Активная производственная компания») после того, как их подписка станет активной. Назначение роли позволит только активным подписчикам получать доступ и отправлять ограниченную форму на сайте, созданную с помощью WP Job Manager. Я добавил продукт по подписке 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 = новый WP_User($user_id);

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

    // 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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