Wp_LOCALIZE_SCRIPT,jQuery中未定义变量

时间:2013-07-15 作者:gshft

我尝试用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\\u自定义

怎么了?

1 个回复
SO网友:RRikesh

wp_localize_script 应在之后调用wp_enqueue_script:

重要!:wp\\u localize\\u 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> 如果看到变量。

结束

相关推荐

在插件页面上调用jQuery函数

我正在尝试调用插件管理页面上的以下脚本:<?php function add_match_attendance_scripts() { $output = \'<script type=\"text/javascript\"> jQuery(function () { $(\"#seatt_start\").datepicker({dateFormat: \"dd-mm-yy\"}); $(\"#seat