Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于Wordpress,我需要在javascript文件中使用PHP,我如何才能做到这一点,或者有什么更好的替代方法_Php_Html_Css_Wordpress_Maps - Fatal编程技术网

由于Wordpress,我需要在javascript文件中使用PHP,我如何才能做到这一点,或者有什么更好的替代方法

由于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

确切地说,我使用的是谷歌地图插件

无论如何,谷歌地图插件给了我改变一些设置的选项,比如自定义标记和许多其他有用的东西。所以我用我自己的图片更改了主标记,它在我的静态HTML站点上运行得很好,但在Wordpress中却不行,这就是为什么

假设我加载了插件,如下所示:

  <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';