wordpress - 在 WooCommerce 中取消订阅后,是否有办法取消学生在 LifterLMS 中的注册?
问题描述
我正在尝试编写一个 php 代码,以使系统在用户取消订阅 LifterLMS 中的课程时自动取消注册学生。这也意味着他们不必继续向 WooCommerce 支付费用。有什么办法可以做到这一点吗?我写了一个要添加到functions.php的php代码,但它不起作用。
add_action( 'llms_unenroll_student', 'unenrol_when_cancelled' );
function unenrol_when_cancelled(){
$user_id = get_current_user_id();
$user_subscriptions = wcs_get_users_subscriptions($user_id);
$customer_orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $user_id,
'post_type' => 'shop_order', // WC orders post type
'post_status' => 'wc-cancelled' // Only orders with status "cancelled"
) );
$subscriptionlist = [];
foreach ($customer_orders as $subscription){
$subscriptionlist[] = $subscription->get_id();
}
foreach ($subscriptionlist as $subscriptionid){
if ($subscriptionid == '3400' || $subscriptionid == '74'){
llms_unenroll_student($user_id, 7140, $new_status, $trigger);
llms_unenroll_student($user_id, 7099, $new_status, $trigger);
llms_unenroll_student($user_id, 6487, $new_status, $trigger);
llms_unenroll_student($user_id, 6388, $new_status, $trigger);
llms_unenroll_student($user_id, 7061, $new_status, $trigger);
llms_unenroll_student($user_id, 7014, $new_status, $trigger);
llms_unenroll_student($user_id, 5580, $new_status, $trigger);
llms_unenroll_student($user_id, 5167, $new_status, $trigger);
llms_unenroll_student($user_id, 6992, $new_status, $trigger);
llms_unenroll_student($user_id, 6962, $new_status, $trigger);
llms_unenroll_student($user_id, 6895, $new_status, $trigger);
llms_unenroll_student($user_id, 6729, $new_status, $trigger);
} elseif ($subscriptionid == '3136'){
llms_unenroll_student($user_id, 5665, $new_status, $trigger);
}
}
}
解决方案
推荐阅读
- java - Gradle任务替换.java文件中的字符串不起作用
- java - Payara 服务器未启动
- c++ - 动态类对象加载
- python - PyCharm 2020.2.1 的全新 Snap 安装无法调试
- node.js - Uncaught (in promise) SyntaxError: Unexpected end of JSON input for large data request
- python - MaxRetryError 与 Spotify API
- c - 作为指针的参数未正确递增
- php - 如何在 Laravel 中显示来自另一个磁盘的图像
- python - 如何在不知道密钥的情况下使用 python 程序解密 .txt.gz.enc 文件?
- sql - Oracle Developer - Hour Between 1 到 12 错误,在一台机器上工作但在另一台机器上工作