javascript — Заполнение полей — Freshdesk на платформе WordPress

Я встроил свежий виджет на свой веб-сайт WordPress.

Мне нужно предварительно заполнить поле электронной почты учетными данными пользователя из 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>

1

Решение

Давайте сначала получим адрес электронной почты текущего пользователя, если он вошел в систему.

<?php
$user_id = get_current_user_id();
$email = '';
if ($user_id > 0) {
$user_info = get_userdata($user_id);
$email = $user_info->user_email;
}
?>

И после этого вы можете встроить код виджета обратной связи Freshdesk, чтобы включить вышеуказанное письмо.

<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>
1

Другие решения

сначала получить идентификатор пользователя. Эта функция встроена в 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; ?>");

от Ссылка первая, Ref Второй

Наконец, найдите поле, которое вы хотите предварительно заполнить, и заполните атрибут value $ email. Я бы посоветовал jQuery, а не модифицировать плагин, так как обновление, скорее всего, сотрет все ваши изменения.

1

По вопросам рекламы [email protected]