wp_localize_script, переменная не определена в jquery

Я пытаюсь загрузить сообщение с помощью Ajax.

functions.php :

 function my_action_callback() { wp_localize_script('jscustom', 'ajax_custom', array( 'ajaxurl' => admin_url('admin-ajax.php') )); wp_enqueue_script('jscustom'); } add_action('wp_ajax_my_action', 'my_action_callback'); 

Код jQuery в custom.js :

 jQuery(window).load(function() { var morebutton = jQuery('#load-more'), archive = morebutton.rel, deftext = morebutton.text(), page = 1; morebutton.click(function(e){ e.preventDefault(); page++; morebutton.text(ajax_custom.loading); jQuery.post(ajax_custom.ajaxurl, {action:'load_more', page:page, archive:archive}, function(data){... 

Когда я нажимаю кнопку «загрузить больше», я получаю сообщение об ошибке:

ReferenceError: ajax_custom не определен

Что не так?

Solutions Collecting From Web of "wp_localize_script, переменная не определена в jquery"

wp_localize_script следует называть ПОСЛЕ wp_enqueue_script :

ВАЖНО !: wp_localize_script () ДОЛЖНО вызываться после того, как скрипт, к которому он привязан, был зарегистрирован или зарегистрирован. Он не помещает локализованный скрипт в очередь для последующих скриптов.

Исправьте его в своей функции:

 function my_action_callback() { wp_enqueue_script('jscustom'); // I assume you registered it somewhere else wp_localize_script('jscustom', 'ajax_custom', array( 'ajaxurl' => admin_url('admin-ajax.php') )); } 

Вы всегда можете проверить свою страницу <head> если увидите свою переменную.