WPLMS中点击Finish Course按钮后是否有触发的action hook?
WPLMS课程完成后触发自定义代码的Action Hook
在WPLMS平台里,确实有专门的action hook可以满足你的需求,以下是最常用的两个:
wplms_course_completed:这个钩子会在用户点击"Finish Course"按钮、课程被正式标记为完成后立即触发,是最贴合你需求的选择。它会传递两个核心参数:$user_id:完成课程的学习者ID$course_id:被完成的课程ID
你可以像这样编写自定义代码:
add_action('wplms_course_completed', 'my_custom_post_course_completion', 10, 2); function my_custom_post_course_completion($user_id, $course_id) { // 这里写入你的自定义逻辑 // 示例:记录课程完成日志 error_log("学习者 {$user_id} 已完成课程 {$course_id}"); // 也可以执行发送通知、更新用户数据等操作 }wplms_mark_course_complete:这个钩子触发时机稍早,是在课程标记为完成的逻辑执行过程中触发的。如果你需要在系统标记课程完成的同时插入自定义逻辑,也可以使用它,同样支持$user_id和$course_id两个参数。示例代码:
add_action('wplms_mark_course_complete', 'my_custom_during_completion', 10, 2); function my_custom_during_completion($user_id, $course_id) { // 这里写入你的自定义逻辑 }
你可以把上述代码添加到主题的functions.php文件,或者自己创建的自定义插件中,不需要修改WPLMS的核心文件即可生效。
内容的提问来源于stack exchange,提问作者Shah Foyez
相关产品推荐
相关产品推荐

