Plugin:指向JS文件内部访问的另一个文件夹中图像的相对URL

时间:2013-01-07 作者:Emerson Maningo

我有一个Wordpress插件文件结构,主文件夹是“myfolder”。此主文件夹中还有一个子文件夹名为“resources”。此资源文件夹中包含两个子文件夹:a)JS b.)images

在images文件夹中,我有一个图像“myimage.png”。在JS文件中,我有一个名为“myscript.JS”的脚本。

我想访问javascript文件“myscript.js”中images文件夹中的图像“myimage.png”。

我尝试了以下方法,但无效(无法解决):

<img src="../images/myimage.png">
<img src="images/myimage.png">
<img src="resources/images/myimage.png">
<img src="../resources/images/myimage.png">
<img src="myfolder/resources/images/myimage.png">
<img src="../myfolder/resources/images/myimage.png">
当然,绝对URL路径是可行的,但我希望此应用程序与其他网站配合使用,因此编码绝对URL路径不是可行的解决方案。

我知道Wordpress也有这个神奇的功能:

$myicons= plugins_url(\'resources/images/myimage.png\', __FILE__ );
但这只在PHP插件文件中起作用,我正在访问JS文件中的图像。如何在不重新排列当前文件结构的情况下实现这一点?Wordpress中是否有与“plugins\\u url”等效的JS函数?谢谢你的提示。

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

为此,您可以使用wp_localize_cript() 函数,如下所示:

function localize_my_script() {
    $image_url = plugins_url( \'resources/images/myimage.png\', __FILE__ );
    $localizations = array( \'imageURL\' => $image_url );

    wp_localize_script( \'my-script-handle\', \'localizedVars\', $localizations );
}
add_action( \'wp_enqueue_scripts\', \'localize_my_script\' );
这是假设您已使用my-script-handle 以句柄为例。

结束

相关推荐