在 wordpress 中通过 php 和 jquery 传递变量

Passing variables through php and jquery in wordpress

提问人:Alduxo 提问时间:12/18/2021 最后编辑:RuveeAlduxo 更新时间:12/18/2021 访问量:387

问:

我正在使用 wordpress 并在函数 .php 文件上有以下代码

function fun1() {
 wp_enqueue_script( 'aldi_code', 'wp-content/uploads/custom-css-js/675.js', array( 'jquery' ), false, true );

 wp_localize_script( 'aldi_code', 'test', array(
     'current_user' => wp_get_current_user()
 ) ) ;
} 
add_action( 'wp_enqueue_scripts', 'fun1' );

我想使用以下代码访问 from through jquery 的值current_userwp_admin

jQuery(document).ready(function( $ ){
    
    var displayName = test.current_user.display_name;       
});  

问题是我收到错误:

未定义测试。

你知道这段代码有什么问题吗?

jquery wordpress 参数传递

评论

0赞 Kinglish 12/18/2021
函数是否在文件中?document.readywp-content/uploads/custom-css-js/675.js
0赞 Alduxo 12/18/2021
675.js 文件只有以下代码jQuery(document).ready(function( $ ){ var displayName = test.current_user.display_name; });

答:

0赞 Soroush Bgm 12/18/2021 #1

如果不想直接在 JS 和 PHP 之间传递值,可以使用 .它们都可以在其中读取和写入数据。 在 PHP 中设置一个 cookie,然后在 JS 中读取它。cookies

2赞 Howard E 12/18/2021 #2

基于将对象传递给 jQuery 的方式。你的jQuery应该看起来像这样,才能得到.current_userdisplay_name

查看 JS 中传递到的内容。只需转到开发人员的控制台并输入,您就会看到这是用户数据作为对象存储的位置。current_usertest.current_userdata

你也不需要使用 - 无论它有什么价值。document(ready)

jQuery(
    function($){
        let display_name = test.current_user.data.display_name;
    }
);