我正在使用 WooCommerce 订阅插件,并且我想仅在取消订阅时才停止更改用户角色。
我在这里找到了一个代码片段:
add_filter( 'woocommerce_subscriptions_update_users_role', '__return_false', 100 );
… 阻止 WooCommerce 订阅更改用户角色。这也将在购买订阅时停止角色更改。
我想要的是仅在取消订阅时才停止更改用户角色。
可能吗?
谢谢
我正在使用 WooCommerce 订阅插件,并且我想仅在取消订阅时才停止更改用户角色。
我在这里找到了一个代码片段:
add_filter( 'woocommerce_subscriptions_update_users_role', '__return_false', 100 );
… 阻止 WooCommerce 订阅更改用户角色。这也将在购买订阅时停止角色更改。
我想要的是仅在取消订阅时才停止更改用户角色。
可能吗?
谢谢
你可以尝试使用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 文件中,也位于任何插件文件中。
参考:订阅状态更改操作
remove_action( 'woocommerce_subscription_status_cancelled', 'wcs_maybe_make_user_inactive_for', 10, 1 );
在您的活动主题functions.php中使用它