无法让变量在 Wordpress for Intercom 中工作 Javascript

Can't get variables to work in Wordpress for Intercom Javascript

Intercom 提供以下要在 body 标记之前注入的代码段:

<script>
  window.intercomSettings = {
    app_id: "",
    name: "<?php echo json_encode($current_user->name) ?>", // Full name
    email: "<?php echo json_encode($current_user->email) ?>", // Email address
    created_at: "<?php echo strtotime($current_user->created_at) ?>" // Signup date as a Unix timestamp
  };
</script>

但是,它创建了一个错误的启动器;声明检查电子邮件变量。 Wordpress 的变量应该是什么?

不是要在body之前注入,必须在body关闭标签之前。

<script>
  window.intercomSettings = {
    app_id: "",
    name: "<?=wp_get_current_user()->user_login?>", // Full name
    email: "<?=wp_get_current_user()->user_email?>", // Email address
    created_at: "<?=strtotime(wp_get_current_user()->created_at)?>" // Signup date as a Unix timestamp
  };
</script>
</body>

Intercom 为 PHP 提供的上面的代码示例要指出的另一件事是 json_encode 用于数组值而不是单个值。当我意识到我传递的电子邮件在呈现后看起来像这样导致它中断时,我在使用该示例时遇到了同样的问题。

""user@example.com""

如果您只使用单个值,请不要使用 json_encode。照原样传递。