Различие между wp_enqueue_script и wp_localize_script Нужен базовый пример в Wordpress - PullRequest
0 голосов
/ 01 октября 2018

Мне нужно четкое объяснение для wp_enqueue_script и wp_localize_script

    wp_enqueue_script( 'custome.js',PLUGIN_URL.'/js/custome.js');
     wp_localize_script( 'ajax-script', 'my_ajax_object',
     array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

1 Ответ

0 голосов
/ 01 октября 2018

wp_enqueue_script будет включать файл Javascript на вашу страницу или приложение.В файле Javascript вам может потребоваться доступ к нескольким переменным PHP или нескольким значениям, которые установлены на ваших страницах WordPress.Например, когда AJAX вызывается в WordPress, он в основном вызывает один URL-адрес «/wp-admin/admin-ajax.php», поэтому вы можете получить доступ к этому URL-адресу из файла js путем жесткого кодирования, например:

var ajax_url="<site url>/wp-admin/admin-ajax.php"; 

Так что, если вы переместили код в другой домен, вам нужно изменить код в ajavscript, который обычно забывают.Решение состоит в том, чтобы сделать этот URL динамическим, чтобы он реагировал одинаково с любым URL.Код:

wp_localize_script( 'ajax-script', 'my_ajax_object',array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

фактически отправляет URL AJAX, используя переменную с именем " ajax_url " с объектом с именем " my_ajax_object ".Таким образом, вы можете получить доступ к URL AJAX в файле JavaScript.Как:

var ajax_url=my_ajax_object.ajax_url;

Теперь, если вам нужно отправить больше значений, вы можете использовать тот же способ:

 wp_localize_script( 'ajax-script', 'my_ajax_object',array( 'ajax_url' => admin_url( 'admin-ajax.php' ),'your_name'=>'Tristup' ) );

В файле Javascript:

console.log(my_ajax_object.your_name);

Надеюсь, это поможетчтобы понять локализованный скрипт, если есть какие-либо сомнения, пожалуйста, ответьте на это.

...