由于Wordpress,我需要在javascript文件中使用PHP,我如何才能做到这一点,或者有什么更好的替代方法
确切地说,我使用的是谷歌地图插件 无论如何,谷歌地图插件给了我改变一些设置的选项,比如自定义标记和许多其他有用的东西。所以我用我自己的图片更改了主标记,它在我的静态HTML站点上运行得很好,但在Wordpress中却不行,这就是为什么 假设我加载了插件,如下所示:由于Wordpress,我需要在javascript文件中使用PHP,我如何才能做到这一点,或者有什么更好的替代方法,php,html,css,wordpress,maps,Php,Html,Css,Wordpress,Maps,确切地说,我使用的是谷歌地图插件 无论如何,谷歌地图插件给了我改变一些设置的选项,比如自定义标记和许多其他有用的东西。所以我用我自己的图片更改了主标记,它在我的静态HTML站点上运行得很好,但在Wordpress中却不行,这就是为什么 假设我加载了插件,如下所示: <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> <scr
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="js/gmaps.js"></script>
这是我称之为地图的地图:
jQuery(document).ready(function( $ ) {
var href = mapsCustom.templateUrl + '/images/logo.png';
var map = new GMaps({
div: '#map',
lat: 22.22222,
lng: -22.22222
});
map.drawOverlay({
lat: 22.22222,
lng: -22.22222,
content: $href
});
});
用于将任何类型的数据传递给加载的脚本,在这种情况下,我们需要bloginfo('template_directory'):
现在,您可以访问脚本文件中的myScript.plugsurel:
var href = myScript.templateUrl + '/path/to/resource';
一般来说,你不能在你的JS文件中使用PHP。因此,wordpress提供了这一功能。借助这一功能,你可以对路径进行本地化,然后将该本地化传递给JS文件。因此,基本上它可以工作
上面我已经给出了一个例子,你如何实现。根据你的需要修改它
希望这能解决您的问题。console/inspect元素作为渲染输出显示了什么?GET 404(未找到)表示找不到图像,但它与我的网站徽标使用的图像相同。好的,wp_排队_脚本('my-script',GET_样式表_目录_uri()。/js/my script.js');wp_本地化_脚本('my-script','myScript',数组('templateUrl'=>bloginfo('template_目录'));进入my functions.php并将“我的脚本”的名称改为我的需要。是的,我已经更新了我的问题,从上面的更新到下面的更新。我刚刚提供了我的functions.php文件,在这里我调用所有东西,在这里我调用我的地图。你不能使用$href..只需使用href。试试这个,告诉我它给出了什么:
内容:“
好了,现在我在蓝色框中得到了一个问号,表示图像已损坏。所以现在它至少在那里,但没有正确链接。由于某种原因,当我在myfunctions.php中添加wp_localize_脚本函数时,我看到我的整个URL都打印在标题上方。您能告诉我它是通过imspect元素还是通过控制台检索的路径吗?
jQuery(document).ready(function( $ ) {
var href = mapsCustom.templateUrl + '/images/logo.png';
var map = new GMaps({
div: '#map',
lat: 22.22222,
lng: -22.22222
});
map.drawOverlay({
lat: 22.22222,
lng: -22.22222,
content: $href
});
});
wp_enqueue_script('my-script', get_stylesheet_directory_uri() . '/js/my-script.js');
wp_localize_script('my-script', 'myScript', array(
'templateUrl' => bloginfo('template_directory'),));
var href = myScript.templateUrl + '/path/to/resource';