如何通过 Javascript 在 wordpress 中检索当前用户?

Posted

技术标签:

【中文标题】如何通过 Javascript 在 wordpress 中检索当前用户?【英文标题】:How do I retrieve the current user in wordpress through Javascript? 【发布时间】:2019-03-29 12:32:40 【问题描述】:

我有以下有效的代码。 (当我按下按钮时,输入表单上会显示“测试”。

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel- 
 core/6.1.19/browser.min.js"></script>
<script>
function btn1() 
document.getElementsByName("admin-status")[0].value = "test";

</script>

我想检索用户名,所以我以为我添加正确,但它说未定义。

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel- 
 core/6.1.19/browser.min.js"></script>
<script>
global $current_user;
$current_user = wp_get_current_user();
function btn1() 
document.getElementsByName("admin-status")[0].value = $current_user;

</script>

我错过了什么?谢谢。菜鸟在这里。

【问题讨论】:

【参考方案1】:

添加本地化脚本的更好方法

add_action( 'wp_enqueue_scripts', 'wp12311_enqueue_scripts' );

function wp12311_enqueue_scripts() 
     wp_enqueue_script( 'wp12311-scripts', 'your_script_path/test.js', array( 'jquery' ), false, true );
     wp_localize_script( 'wp12311-scripts', 'test', array(
         'current_user' => wp_get_current_user()
     ) ) );

现在在test.js 文件中,您可以访问当前用户数据,例如

var displayName = test.current_user.display_name;

【讨论】:

我们应该在哪里添加 add_action ? 在主题functions.php【参考方案2】:

您可能会在 js 控制台中看到“未定义”和/或其他错误。请注意,您忘记了 php 代码周围的 php &lt;?php?&gt;,而 $current_user 将是 "&lt;?php echo $current_user ?&gt;

如果你做的不仅仅是一行脚本,你真的应该enqueue script 然后localize script 到一个你可以在页面上任何地方的js中使用的变量,而不是混合使用php和js!

【讨论】:

以上是关于如何通过 Javascript 在 wordpress 中检索当前用户?的主要内容,如果未能解决你的问题,请参考以下文章

php 这个WordPress插件演示了如何使用WordPress提供的可拖动元文件构建自己的插件页面,需要WordPr

HTML 在wordpres强制换行

在wordpres中强制换行

text 在Wordpres中添加自定义Jquery脚本

Wordpres标头背景图片

php 查询帖子类型wordpres