【问题标题】:How to get a WordPress database value in JavaScript?如何在 JavaScript 中获取 WordPress 数据库值?
【发布时间】:2017-10-28 05:21:26
【问题描述】:

我正在尝试为 Wordpress 网站设置实时聊天服务。几个选项,包括下面的 Chatra,需要类似下面的东西来根据一些唯一的 clientId 值映射登录的用户。在大多数情况下,似乎 $user_pass 变量是从 Wordpress 数据库中使用的。

我的问题是,我应该如何让登录用户动态生成 clientID 值,而不是像下面的代码这样的静态值?

<script>
window.ChatraSetup = {
    /* current user’s generated string */
    clientId: 'kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg'
};
</script>

【问题讨论】:

    标签: javascript php wordpress


    【解决方案1】:

    你应该通过ajax 方法获得它,在wp-ajax.php 存在wordpress ajax functions 的地方..创建自定义一个

    【讨论】:

      【解决方案2】:

      在您的模板中添加以下内容:

      <?php  
        $current_user = wp_get_current_user();
      ?>
      
      <script>
         window.ChatraSetup = {
             clientId: <?php echo $current_user->ID; ?>
      </script>
      

      【讨论】:

      • 谢谢,但这会返回 ID 号,我认为这不是很安全。我试图将“ID”替换为“user_pass”,但这会导致脚本无法加载。
      • 您可以使用 user_login 或 user_email 而不是 user_pass。
      • 我刚刚尝试用“user_email”替换,但脚本再次无法加载。
      【解决方案3】:

      问题解决了。我错过了几个“”。

      <?php  
        $current_user = wp_get_current_user();
      ?>
      
      <script>
         window.ChatraSetup = {
             clientId: "<?php echo $current_user->user_pass; ?>"
      </script>
      

      【讨论】:

        【解决方案4】:

        您可以使用 wp_localize_script 函数。 在此处查找解释如何执行此操作的完整文章: https://pippinsplugins.com/use-wp_localize_script-it-is-awesome/

        【讨论】:

        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
        猜你喜欢
        • 1970-01-01
        • 2013-08-07
        • 2018-04-01
        • 2018-02-03
        • 1970-01-01
        • 2015-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多