如何全局使用wp_localize_script()Ajax URL

时间:2018-11-16 04:26:37

标签: wordpress wordpress-theming

我已将此添加到我的functions.php中,并且需要在模板中所有已排队的脚本中使用ajaxURL(而不是在此处仅排队一个脚本

add_action( 'wp_enqueue_scripts', 'ajaxify_enqueue_scripts' );
function ajaxify_enqueue_scripts() {
   wp_localize_script( 'ajaxify', 'ajaxURL', array('ajax_url' => get_template_directory_uri() . '/app/login.php' ));
}
add_action( 'wp_ajax_nopriv_set_ajaxify', 'set_ajaxify' );
add_action( 'wp_ajax_set_ajaxify', 'set_ajaxify' );

但是当我尝试调用ajax方法时,出现此错误

Uncaught ReferenceError: ajaxURL is not defined

是否可以将ajaxURL添加到所有脚本中?

2 个答案:

答案 0 :(得分:0)

尝试此代码

add_action( 'wp_enqueue_scripts', 'ajaxify_enqueue_scripts' );

function ajaxify_enqueue_scripts() {
    wp_enqueue_script('ajaxify', get_template_directory_uri() . '/test.js');
    wp_localize_script( 'ajaxify', 'ajaxURL', array('ajax_url' => admin_url('admin-ajax.php')));

}

答案 1 :(得分:0)

输入此代码:

function your_function_name() {

  wp_register_script('ajaxify', get_template_directory_uri() . '/your-jsname.js', array('jquery'), '', true);
  wp_enqueue_script('ajaxify');

  wp_localize_script('ajaxify', 'ajaxURL', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ),'siteurl' => site_url() ) );

}
add_action( 'wp_enqueue_scripts', 'your_function_name' );