向函数添加自定义脚本时遇到问题。php文件:
add_action(\'wp_print_scripts\', \'load_AJAX_URL__\');
function load_AJAX_URL__() {
wp_localize_script( \'ajax_URL\', \'MyAjax\', array( \'ajaxurl\' => admin_url(\'admin-ajax.php\') ) );
}
为什么不工作?有什么想法吗?向函数添加自定义脚本时遇到问题。php文件:
add_action(\'wp_print_scripts\', \'load_AJAX_URL__\');
function load_AJAX_URL__() {
wp_localize_script( \'ajax_URL\', \'MyAjax\', array( \'ajaxurl\' => admin_url(\'admin-ajax.php\') ) );
}
为什么不工作?有什么想法吗?功能wp_localize_script()
用于将变量发送到已注册和排队的脚本。您是否有一个已经注册和排队的js文件,并且具有“ajax\\u URL”句柄?如果没有,那么这就解释了为什么它不起作用。
此外,ajaxurl已经是一个js变量,可以通过您排队的任何脚本访问,所以我不太确定您在这里要做什么。
如果您只是想在主题中添加一个新的js文件,您需要查看wp_enqueue_script()
作用
好的,你可以这样做。
function my_ajax_scripts() {
$data = array( \'ajaxurl\' => admin_url(\'admin-ajax.php\') );
wp_enqueue_script( \'ajax_url\', get_stylesheet_directory_uri() . \'/my-custom-ajax.js\' );
wp_localize_script( \'ajax_url\', \'MyAjax\', $data );
wp_enqueue_script( \'ajax_url_2\', get_stylesheet_directory_uri() . \'/my-custom-ajax-2.js\' );
wp_localize_script( \'ajax_url_2\', \'MyAjax\', $data );
}
add_action( \'wp_enqueue_scripts\', \'my_ajax_scripts\' );
您需要先将脚本排队,然后使用wp_localize_script
使用特定js文件的句柄将变量传递给该文件。在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s