我无法使用wp_LOCALIZE_SCRIPT从js文件加载图像

时间:2019-05-19 作者:FSK

我正在使用一个滑块来显示我的图像,它在我的sit上运行良好,但当我将我的网站转换为wordpress主题时,它开始给我加载图像带来麻烦,滑块处于活动状态,但图像没有显示,我尝试使用wp\\u localize\\u脚本,但运气不佳,我可能犯了一些错误。请检查我的代码,让我知道我做错了什么!

这是我的代码:

功能。php

//我从另一个stackexchange答案中获取了此代码片段!

function wpa_scripts() {

    wp_enqueue_script(
        \'wpa_script\',
        get_template_directory_uri() . \'/js/custom.js\',
        array(\'jquery\'),
        false,
        true
    );
    $script_data = array(
        \'image_path\' => get_template_directory_uri() . \'/images/\'
    );
    wp_localize_script(
        \'wpa_script\',
        \'wpa_data\',
        $script_data
    );
}

    add_action( \'wp_enqueue_scripts\', \'wpa_scripts\' );
这是我的习惯。js文件:

  $(function(){
    jQuery(document).ready(function() {
    $(\'#home\').backstretch([
       image_path+"home-bg-slideshow1.jpg",
       image_path+"home-bg-slideshow2.jpg",
       image_path+"home-bg-slideshow3.jpg",
        ],  {duration: 2000, fade: 750});
    });
  })
你知道怎么解决这个问题吗?这是我第一次使用wp\\u localize\\u脚本

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

您没有正确访问该值。的第二个参数wp_localize_script 数据将添加到的JavaScript对象的名称。你的情况是wpa_data. 这意味着image_path 访问地址wpa_data.image_path:

$(function(){
    jQuery(document).ready(function() {
    $(\'#home\').backstretch([
       wpa_data.image_path+"home-bg-slideshow1.jpg",
       wpa_data.image_path+"home-bg-slideshow2.jpg",
       wpa_data.image_path+"home-bg-slideshow3.jpg",
        ],  {duration: 2000, fade: 750});
    });
  })