3

我正在使用 WooCommerce 订阅插件,并且我想仅在取消订阅时才停止更改用户角色。

我在这里找到了一个代码片段:

add_filter( 'woocommerce_subscriptions_update_users_role', '__return_false', 100 );

… 阻止 WooCommerce 订阅更改用户角色。这也将在购买订阅时停止角色更改。

我想要的是仅在取消订阅时才停止更改用户角色。
可能吗?

谢谢

4

2 回答 2

0

你可以尝试使用woocommerce_subscription_status_cancelled动作钩子(没有任何保证,因为它未经测试),这样:

add_action( 'woocommerce_subscription_status_cancelled', 'keep_user_role_unchanged_on_cancelled_status' );
function keep_user_role_unchanged_on_cancelled_status(){
    add_filter( 'woocommerce_subscriptions_update_users_role', '__return_false', 100 );
}

该代码位于您活动的子主题(或主题)的 function.php 文件中,也位于任何插件文件中。

参考:订阅状态更改操作

于 2017-03-14T23:06:34.640 回答
0
remove_action( 'woocommerce_subscription_status_cancelled', 'wcs_maybe_make_user_inactive_for', 10, 1 );

在您的活动主题functions.php中使用它

于 2020-04-29T07:42:00.637 回答