我已经在我的WordPress网站上嵌入了一个freshdesk小工具。
当用户登录到WordPress网站时,我需要使用来自WordPress的用户凭据预先填充电子邮件字段。到目前为止,我没有自己的运气,也没有得到支持。有人知道WordPress是如何存储用户电子邮件的,以及如何从WordPress获取用户电子邮件吗?
这是我当前的代码:
<script src="http://assets.freshdesk.com/widget/freshwidget.js" type="text/javascript"></script>
<script type="text/javascript">
FreshWidget.init("", {"queryString": "&helpdesk_ticket[requester]={{user.email}}&helpdesk_ticket[subject]={{user.subject}}&helpdesk_ticket[custom_field][phone_number]={{user.phone}}&helpdesk_ticket[custom_field][product_id]={{helpdesk.product}}",
"widgetType": "popup", "buttonType": "text", "buttonText": "Support",
"buttonColor": "white", "buttonBg": "#338700", "alignment": "4",
"offset": "235px", "formHeight": "500px",
"url": "http://xxxxxx.freshdesk.com"} );
</script>发布于 2016-10-26 17:43:22
首先获取当前用户的电子邮件地址(如果已登录)。
<?php
$user_id = get_current_user_id();
$email = '';
if ($user_id > 0) {
$user_info = get_userdata($user_id);
$email = $user_info->user_email;
}
?>然后,您可以嵌入Freshdesk feedback小部件代码以包含上述电子邮件。
<script src="http://assets.freshdesk.com/widget/freshwidget.js" type="text/javascript"></script>
<script type="text/javascript">
FreshWidget.init("", {
"queryString": "&helpdesk_ticket[requester]=<?= urlencode($email) ?>",
"widgetType": "popup", "buttonType": "text",
"buttonText": "Support",
"buttonColor": "white", "buttonBg": "#338700",
"alignment": "4",
"offset": "235px", "formHeight": "500px",
"url": "http://xxxxxx.freshdesk.com"} );
</script>发布于 2016-08-08 23:34:15
首先,获取用户id。此函数内置于wordpress中,用于其他用途。
function get_current_user_id() {
if ( ! function_exists( 'wp_get_current_user' ) )
return 0;
$user = wp_get_current_user();
return ( isset( $user->ID ) ? (int) $user->ID : 0 );
}然后在您自己的模板页面中调用函数
<?php $user_info = get_userdata(get_current_user_id());
$email = $user_info->user_email;
?>您可以组合使用php jquery
$input = $("your input selector");
$input.attr("value","<?php echo $email; ?>");最后,找到您想要预先填充的字段,并用$email填充value属性。我建议使用jQuery,而不是修改插件,因为更新可能会抹去您所做的任何更改。
https://stackoverflow.com/questions/38833128
复制相似问题