Удалить пользователя, когда подписка отменена клиентом в 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;
}