【发布时间】:2016-10-14 02:08:43
【问题描述】:
首先我只想说这是我在 StackOverflow 上的第一个问题,所以我现在想道歉,因为我可能会在写这篇文章时犯一些错误。
所以我得到了一个带有用户登录功能的 wordpress 网站,我通过 Zendesk Web Widget 提供支持,这基本上是一个支持联系表。 我正在尝试使用当前登录的用户信息预先填充支持表单中的显示名称和电子邮件字段。
通过我的研究,我发现 Wordpress 已经有一个函数:get_currentuserinfo(),我可以通过将它添加到我的 functions.php 子主题来将数据传递给 javascript:
function get_user($type = 'ID')
{
global $current_user;
get_currentuserinfo();
switch ($type)
{
case 'ID':
return $current_user->ID;
break;
case 'displayname':
return $current_user->display_name;
break;
case 'username':
return $current_user->user_login;
break;
case 'firstname':
return $current_user->user_firstname;
break;
case 'lastname':
return $current_user->user_lastname;
break;
case 'level':
return $current_user->user_level;
break;
case 'email':
return $current_user->user_email;
break;
default:
return;
}
}
并且通过使用echo get_user('displayname'); 在javascript 中使用显示名称。
所以我做了一些尝试,但没有成功。我试过这些:
尝试1:
<script>
var $wpName = <?php echo get_user('displayname') ?>;
var $wpEmail = <?php echo get_user('email') ?>;
zE(function() {
zE.identify({
name: $wpName,
email: $wpEmail
});
});
</script>
尝试2:
<script>
zE(function() {
zE.identify({
name: <?php echo get_user('displayname') ?>,
email: <?php echo get_user('email') ?>
});
});
</script>
尝试 3:
<script>
var $wpName = $current_user->user_firstname;
var $wpEmail = $current_user->user_email;
zE(function() {
zE.identify({
name: <?php echo get_user('displayname') ?>,
email: <?php echo get_user('email') ?>
});
});
</script>
这里有没有人有想法或只是关于如何做到这一点的线索? 我整天都在努力完成这项工作,阅读了大约 20 到 30 个关于该主题的线程,但没有一个适合我的解决方案..
附:再次抱歉,如果我在这里发错了或者我没有写好我的问题,这是我的第一次!
【问题讨论】:
标签: javascript php wordpress