似乎无法使wp_LOCALIZE_SCRIPT工作

时间:2013-03-24 作者:jackreichert

这是我的代码:

wp_enqueue_script(\'ms_ajax_localized\');

wp_localize_script( \'ms_ajax_localized\', \'MS_Ajax\', array(
    \'ajaxurl\'       => admin_url( \'admin-ajax.php\' ),
    \'nextNonce\'     => wp_create_nonce( \'myajax-next-nonce\' ))
);
我把它放进我的functions.php

我的头撞在墙上。我以前使用过wp\\u localize\\u脚本,但这次我对错误一无所知。

当我加载页面时,我在任何地方的源代码中都找不到脚本标记。。。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

我对代码进行了如下测试:

wp_enqueue_script(\'jquery\');

wp_localize_script( \'jquery\', \'MS_Ajax\', array(
    \'ajaxurl\'       => admin_url( \'admin-ajax.php\' ),
    \'nextNonce\'     => wp_create_nonce( \'myajax-next-nonce\' ))
);
它工作正常,但Notice. 它应该连接到wp_enqueue_scripts 例如:

function my_enqueue_scripts() {
    wp_enqueue_script(\'jquery\');
    wp_localize_script( \'jquery\', \'MS_Ajax\', array(
        \'ajaxurl\'       => admin_url( \'admin-ajax.php\' ),
        \'nextNonce\'     => wp_create_nonce( \'myajax-next-nonce\' ))
    );
}
add_action(\'wp_enqueue_scripts\',\'my_enqueue_scripts\');
您必须正确注册脚本并将其排入队列before you use wp_localize_script. 自我测试代码以来,使用提供的核心jquery 工作,我不得不假设这就是问题所在。你的script registration, 我根本看不到,或者script enqueueing 情况越来越糟wp_localize_script 脚本不工作。

结束

相关推荐

在WordPress中实现AJAX的最佳方式是什么?

WordPress有一个处理AJAX的框架,这里有详细的文档记录:http://codex.wordpress.org/AJAX_in_Plugins我担心的是,每次执行AJAX查询时(即使您想从表中返回一个字段),该框架都会实例化整个WordPress堆栈,包括站点上可能存在的任何插件和主题函数。在我看来,这是一种非常繁重的方法,可以执行可能最终成为非常简单的函数。通常,很多WordPress网站都是在共享主机上运行的,没有太多的处理能力,因此,根据我的经验,对WordPress托管的AJAX调用的响应