у меня есть wp плагин для которого в админке создаю сраничку и там хочу повесить для кнопки функцию и передать ей переменные
функция срабатывает но переменные из MyAjax не получается использовать.
вот главный php
require_once(ABSPATH .'wp-includes/pluggable.php');
require_once(ABSPATH .'wp-load.php');
add_action('admin_menu', 'setup_menu');
function setup_menu(){
require_once plugin_dir_path( __FILE__ ) . '/admin.php';
add_menu_page( 'IMG', 'IMG', 'manage_options', 'img-plugin', 'run_this' );
}
include ("get_all_img.php");
/* Script registration*/
wp_enqueue_script( 'img_import.js', plugins_url( '/img_import.js', __FILE__ ), array('jquery'), '1.12', true );
wp_localize_script( 'img_import', 'MyAjax', array(
'ajaxurl' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('myajax-nonce'),
'pluginsUrl' => plugins_url()
) );
На странице в админке только кнопка
function run_this()
{
echo '<div id="img_app"></div>';
echo '<button id="app-img" onclick="myFunction();">Click me!</button>';
}
Вот img_import.js' файл
"use strict";
function myFunction( ) {
//name, id
jQuery.post(
MyAjax.ajaxurl,
{
type: "post",
dataType: "json",
'action': 'get_all_img_',
async: true
}
).done(
function (resp) {
console.log(resp);
}
);
}
выдает ошибку
img_import.js?ver=1.12:24 Uncaught ReferenceError: MyAjax is not defined
at myFunction
at HTMLInputElement.myButton.onclick