Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的wordpress本地化变量在我的前端js中不可用_Wordpress_Nonce - Fatal编程技术网

为什么我的wordpress本地化变量在我的前端js中不可用

为什么我的wordpress本地化变量在我的前端js中不可用,wordpress,nonce,Wordpress,Nonce,我的目标是本地化wordpress nonces,用于从adminpanel向wp REST API发出post请求的授权 问题是,我无法从javascript访问nonce 我已将wp_localize_脚本添加到将我的javasript文件排入队列的操作中: function my_admin_scripts() { wp_enqueue_script( 'admin-js', get_stylesheet_directory_uri().'/js/script.js', false )

我的目标是本地化wordpress nonces,用于从adminpanel向wp REST API发出post请求的授权

问题是,我无法从javascript访问nonce

我已将wp_localize_脚本添加到将我的javasript文件排入队列的操作中:

function my_admin_scripts() {
  wp_enqueue_script( 'admin-js', get_stylesheet_directory_uri().'/js/script.js', false );

    $data = array(
        'nonce' => wp_create_nonce('wp_rest')
    );
    wp_localize_script( 'script', 'wp_api_var', $data );

}
add_action( 'admin_enqueue_scripts', 'my_admin_scripts' );
然后我希望,我可以在script.js文件中调用它:

console.log (wp_api_var.nonces);
但我不能:

Uncaught ReferenceError: wp_api_var is not defined
<anonymous> https://lisbjergbeboerforening.dk/wp-content/themes/twentyseventeen-child/js/script.js?ver=5.5.1:4
未捕获引用错误:未定义wp\u api\u var
https://lisbjergbeboerforening.dk/wp-content/themes/twentyseventeen-child/js/script.js?ver=5.5.1:4
我从错误中了解到我的变量wp_api_var不可用,但为什么


BR Kresten

您的本地化脚本应该是:

/*
* wp_localize_script( string $handle, string $object_name, array $l10n )
*
/*

wp_localize_script( 'admin-js', 'wp_api_var', $data );

您的脚本句柄是
'admin-js'

我的脚本名为script而不是admin js,因此它是较新的队列。但我仍然可以使用js代码。