Last active
June 19, 2023 14:37
-
-
Save BronsonQuick/5a7d148e08c3dcab6072 to your computer and use it in GitHub Desktop.
Delete All WooCommerce Subscriptions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Plugin Name: Delete All Subscriptions | |
Plugin URI: | |
Description: Delete all of those bad boys | |
Author: | |
Author URI: | |
Version: 1.0 | |
*/ | |
function mystic_delete_all_subscriptions() { | |
$subscriptions = WC_Subscriptions::get_subscriptions( | |
array( | |
'subscriptions_per_page' => 1000, | |
) | |
); | |
foreach( $subscriptions as $subscription ) { | |
WC_Subscriptions_Manager::delete_subscription( $subscription['user_id'], $subscription['subscription_id'] ); | |
} | |
} | |
add_action( 'admin_footer', 'mystic_delete_all_subscriptions' ); | |
function mystic_force_delete_subscription( $subscription_can_be_changed, $subscription ) { | |
return true; | |
} | |
add_filter( 'woocommerce_subscription_can_be_changed_to_deleted', 'mystic_force_delete_subscription', 10, 2 ); |
Does it sends an email to the user?
@davidperezgar I wrote this a long time ago so I can't recall if it does. The code base for WC and Subscriptions has probably change a lot based on some of the other comments from others.
Simply deleting a post using wp_delete_post
doesn't send anything. And even if you uncomment the subscription status change as shown in my version of the script, by default, there is no customer email that is sent when a subscription gets cancelled. You would have to add a line there that sends a custom email to the customer.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@NickGreen - Thanks. That worked for me.