带有wp_LOCALIZE_SCRIPT的js中图像的路径

时间:2014-02-09 作者:Nikita

我正在尝试实现动画svg icons 进入我的Wordpress主题。这一切都很好,只是我不知道如何在这个js文件中为svg图像设置正确的url:

var svgIconConfig = {
    plus : { 
        url : \'svg/plus.svg\',
        animation : [
            { 
                el : \'path:nth-child(1)\', 
                animProperties : { 
                    from : { val : \'{"transform" : "r0 32 32", "opacity" : 1}\' }, 
                    to : { val : \'{"transform" : "r180 32 32", "opacity" : 0}\' }
                } 
            },
            { 
                el : \'path:nth-child(2)\', 
                animProperties : { 
                    from : { val : \'{"transform" : "r0 32 32"}\' }, 
                    to : { val : \'{"transform" : "r180 32 32"}\' }
                } 
            }
        ]
    }
};
以下是我尝试过的:

在函数中。php

function svgicons_config() {
  wp_register_script(\'svgicons-config\', get_template_directory_uri() . \'/js/svgicons-config.js\', array(), \'1.0.0\', \'true\'); // Custom scripts
  wp_enqueue_script(\'svgicons-config\');
}

$svg_path = array( \'template_url\' => get_bloginfo(\'template_url\') );
wp_localize_script( \'svgicons-config\', \'svg_path\', $svg_path );

add_action(\'init\', \'svgicons_config\');
在svgicons配置中。js公司:

url : \'svg_path.template_url+"/svg/plus.svg"\',
这方面的变化很少。但运气不好。我几乎可以肯定我在这一部分犯了一些愚蠢的错误。。

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

除了你不应该使用get_bloginfo(\'template_url\'), 而是get_template_directory_uri() 或者是*_stylesheet_*() 同样,这是一个JavaScript问题:本地化对象不应该用引号括起来:

// Wrong
url : \'svg_path.template_url+"/svg/plus.svg"\',

// Right:
url : svg_path.template_url + "/svg/plus.svg",
处理JavaScript时,只需使用console.log( svg_path ) 在脚本中查看浏览器开发人员工具控制台中的输出。

结束

相关推荐

通过wp_LOCALIZE_SCRIPT将特定于id的对象传递给javascript时出现问题

我使用wp\\u localize\\u脚本将多个数据数组传递到javascript文件中。为了区分不同的数组(并防止覆盖),它们的标签相对于它们来源的post id。我需要在js文件中使用的对象如下所示,例如:playlist150.tracks playlist257.tracks 我已将DOM元素设置为与对象名称匹配,例如:<div id=\"playlist150\" class=\"playlist-item\"></div> <