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

Passing variables through php and jquery in wordpress

我正在使用 wordpress 并且在 functions.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' );

我想使用以下代码

wp_admin到jquery访问current_user的值
jQuery(document).ready(function( $ ){
    
    var displayName = test.current_user.display_name;       
});  

问题是我收到错误:

test is not defined.

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

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

根据您将 current_user 对象传递给 jQuery 的方式。您的 jQuery 应该看起来像这样才能得到 display_name

查看JS中传递给current_user的内容。只需转到开发人员的控制台并输入 test.current_user,您就会看到 data 是将用户数据作为对象存储的地方。

您也不需要使用 document(ready) - 无论如何都值得。

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