我在我的主题中使用了 jpicker 颜色选择器小部件。在 js 文件中,我不得不像这样硬编码对 jpicker 图像文件夹的引用...
images:{clientPath: '../wp-content/themes/MyThemeFolder/js/jPicker/images/',
如果用户更改主题文件夹的名称,我想通过更动态的方式重做此操作。
有什么想法吗?网址解析?
更新:这是我必须做的来解决它......
在 functions.php 内部,就在包含 js 脚本之前,我放置了这个...
<script type="text/javascript">
<?php echo 'var myThemePath="../wp-content/themes/'.get_option("template").'/js/jPicker/images/"';?>
</script>
然后,在 .js 文件中,我对硬编码目录路径进行了替换,这样...
images:{clientPath: '../wp-content/themes/MyThemeFolder/js/jPicker/images/',
变成这个...
images:{clientPath: myThemePath,
最佳答案
我喜欢做的是在包含外部脚本之前将 Web 根 URL(或媒体/资源文件夹 URL 或其他)保存在全局 JS 变量中:
<script type="text/javascript">
my_project_web_root = "http://example.com";
</script>
并在所有后续脚本中使用它:
images:{clientPath: my_project_web_root+'/wp-content/themes/MyThemeFolder/...'
关于javascript - 如何在 javascript 中将硬编码路径更改为动态路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708763/