本地化脚本不在ajax中工作

时间:2014-02-09 18:04:45

标签: ajax wordpress localization

我在wordpress中测试ajax,它基本上有效,但我不想让url被硬编码,所以我尝试使用wp_localize_script来获取一个对象,但我得到一个错误说:“ReferenceError:WPURLS不是定义“在ajax_script.js中警告siteurl。

的functions.php

function my_scripts_method() {
    wp_enqueue_script(
        'ajax_script',
        get_stylesheet_directory_uri() . '/js/ajax_script.js',
        array( 'jquery' )
    );
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

wp_localize_script('ajax_script', 'WPURLS', array( 'siteurl' => get_option('siteurl') ));

ajax_script.js

$(function () {

    $('#vru-btn').click(function() {
        // alert('code');
        $.post( 'wp-content/themes/wpcleantheme/ajax/test.php', function(data) {
            $('#vru-div').html(data);    
        });
    });;

    alert(WPURLS.siteurl);
});

1 个答案:

答案 0 :(得分:0)

wp_localize_script('ajax_script','WPURLS',数组('siteurl'=> get_option('siteurl')));

然后在脚本中:

WPURLS.siteurl将包含网址。

当调用wp_localize_script时,它会获取您的数据并以对象形式将其传递给脚本。

另外请记住,在脚本注册和排队后需要调用localize_script。