Удалить пользователя, когда подписка отменена клиентом в Woocommerce

Когда пользователь нажимает кнопку отмены подписки, он все еще может войти в раздел "Моя учетная запись", но я хочу, чтобы пользователь не мог получить доступ к чему-либо в разделе "Моя учетная запись". С этого момента я хотел бы включить функцию "если пользователь отменяет платеж, он также удаляет учетную запись", чтобы он не мог получить к нему доступ, поэтому я попытаюсь исследовать и написать приведенный ниже код.

    add_action( 'woocommerce_order_status_cancelled', 
    'custom_woocommerce_auto_delete_user' );

    function custom_woocommerce_auto_delete_user( $order_id ) {
        global $woocommerce;
        $order = new WC_Order( $order_id );
        $order_status = $order->get_status();
       if ( !$order_id )
            return false;
       if ('cancelled' == $order_status) {
         $current_user = wp_get_current_user();
            wp_delete_user( $current_user->ID,true );
       return true;
       }
   return false;
  }

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

1 ответ

Я хочу удалить пользователей, созданных при попытке купить подписку, но оплата не удалась, хотя пользователь все равно создает. Я просто хочу подтвердить, работает ли этот код для Меня или нет?

        add_action('woocommerce_subscription_status_failed', 'custom_woocommerce_subscription_status_failed');
function custom_woocommerce_subscription_status_failed($order_id)
{
        global $woocommerce;
        $order = new WC_Order( $order_id );
        $order_status = $order->get_status();
        if ($order_status`enter code here` == 'failed') {
          $current_user = wp_get_current_user();
          wp_delete_user( $current_user->ID,true );
          return true;
        }
        return false;
}
Другие вопросы по тегам