我怎样才能把用户数据放到一个javascript对象中?

时间:2020-06-22 作者:Lz430

我的函数中有下面的代码。php文件。但是,当我尝试访问变量时theUser 在我的custom.js 文件返回为undefined.

功能。php:

function theme_scripts() {
     global $current_user;
     $current_user = wp_get_current_user();

     wp_enqueue_script( \'theme-script\', get_stylesheet_directory_uri() . \'/assets/js/custom.js\', array( \'jquery\' ), \'\', true );
     wp_localize_script( \'theme-script\', \'theUser\', array (
        \'username\' => $current_user,
     ) );
  }
  add_action( \'wp_enqueue_scripts\', \'theme_scripts\' );
自定义。js公司:

var theUser;
var userName = theUser.username.data.display_name;
var userEmail = theUser.username.data.user_email;
console.log(theUser);

1 个回复
最合适的回答,由SO网友:Ahmad Wael 整理而成

这是因为您已经定义了变量theUser 设置为null,并覆盖之前具有该对象的对象,然后尝试调用该对象。

只需删除此行var theUser;

相关推荐

禁用jQuery javascript的Cloudflare Rocket Loader并使其首先加载

我使用Cloudflare Rocket Loader在我的站点上加速Javascript。问题是,它在加载jQuery本身之前加载某些需要jQuery的脚本,使它们无法正常工作。尽快禁用Rocket Loader以添加特定脚本data-cfasync=\"false\" 到<script src=\"\"> 我想知道如何将其添加到jQuery脚本中,因为Wordpress并不是简单地通过脚本标记加载jQuery。目前我的网站加载jquery-migrate.min.js 和jquery.js