我是PHP和Wordpress (可怕的开场白)的新手,我正在尝试为我用wordpress的LearnDash插件构建的一个电子学习网站添加一些功能。
我跟踪用户进度的方法之一是使用ActiveCampaign。网站跟踪已经安装,并且运行良好,但我正在尝试在用户完成课程时在AC中记录事件。有一个LearnDash钩子可用于此(https://www.learndash.com/support/docs/developers/hooks-and-filters/),实际的事件代码可从活动活动跟踪页面获得。
我最终得到了以下代码:
//learndash hook:
add_action("learndash_course_completed", sendEmail,5,1);
//defining user's email to use in tracking event code:
function sendEmail(){
$current_user = wp_get_current_user();
$userEmail = $user->user_email;
//Event Tracking code as per the Active Campaign Page - Account info omitted
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://trackcmp.net/event");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
"actid" => "ACCOUNT ID NUMBER",
"key" => "TRACKING KEY NUMBER",
"event" => "EVENT NAME",
"eventdata" => "User Has Completed the course",
"visit" => json_encode(array(
// If you have an email address, assign it here.
"email" => $userEmail,
)),
));
$result = curl_exec($curl);
if ($result !== false) {
$result = json_decode($result);
if ($result->success) {
echo 'Success! ';
} else {
echo 'Error! ';
}
echo $result->message;
} else {
echo 'cURL failed to run: ', curl_error($curl);
}
};当用户完成一门课程,并且我不确定我做错了什么时,它不会触发。可能是很明显的事情。有什么想法吗?
谢谢!
发布于 2019-10-24 18:49:49
我发现了问题:我调用了$user变量,而它实际上被定义为$current-user。
改变这一点解决了这个问题。
https://stackoverflow.com/questions/58508773
复制相似问题