Запуск хука WordPress при обновлении роли пользователя в коде

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

add_action( 'set_user_role', function( $user_id, $role, $old_roles )
  {
    error_log("usu fired2!");

    $user_info = get_userdata($user_id);
    $email = $user_info->user_email;

    error_log($email);
    error_log(print_r($old_roles, true));
    error_log($role);

    if ($role == "subscriber") {
      MC_user_tag_l2s($email, "klubmedlem", "active");
    } else {
      MC_user_tag_l2s($email, "klubmedlem", "inactive");
    }

  }, 10, 3 );

Это работает очень хорошо, когда я вручную обновляю роль пользователя на странице редактирования профиля. Однако это не работает, когда роль пользователя обновляется с помощью кода. т.е. когда пользователь создает подписку с подписками WooCommerce.

Любые идеи относительно того, какой крючок я должен использовать вместо этого?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
214
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, вы хотите использовать действие woocommerce_subscriptions_updated_users_role

Описание: когда подписка активируется, приостанавливается, отменяется или истекает, роль пользователя также будет изменена, что вызывает хук «woocommerce_subscriptions_updated_users_role».

Источник: https://docs.woocommerce.com/document/subscriptions/develop/action-reference/

Кажется, это именно то, что я давно искал.. Спасибо!

Oluf Nielsen 10.12.2020 19:08

Другие вопросы по теме