2014-02-16 35 views
0
<?php 

//Load Javascript 


function my_scripts() { 
    wp_register_script('fancyfields', get_template_directory_uri() . '/js/fancyfields-1.2.min.js', array('jquery'), null, true); 
    wp_register_script('headmap', get_template_directory_uri() . '/js/headmap.js', array('markerclusterer'), null, true); 
    wp_register_script('infobox', get_template_directory_uri() . '/js/infobox.js', array('markerclusterer'), null, true); 
    wp_register_script('gmaps_google', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://maps.google.com/maps/api/js?sensor=false", false, null, true); 
    wp_register_script('markerclusterer', get_template_directory_uri() . '/js/markclusterer.js', array('gmaps_google'), null, true); 

    wp_enqueue_script('fancyfields'); 
    wp_enqueue_script('headmap'); 
    wp_enqueue_script('infobox'); 
    wp_enqueue_script('gmaps_google'); 
    wp_enqueue_script('markerclusterer'); 

} 
add_action('wp_enqueue_scripts', 'my_scripts'); 
?> 

我在这里错过了什么吗?用wp_enqueue加载脚本

为什么这不起作用。我已经把上面的代码放到childs的function.php文件中,但是他们的脚本没有加载到我需要的页面上。

有人可以看到一个严重的缺陷吗?

谢谢!!

回答

0

你说这是在一个儿童主题,所以我假设这也是文件的位置。

get_template_directory_uri()将返回父主题。这些文件不能在那里找到,所以他们没有加载。

改为使用get_stylesheet_directory_uri()

E.g.

wp_register_script('fancyfields', get_stylesheet_directory_uri() . '/js/fancyfields-1.2.min.js', array('jquery'), null, true); 
+0

其实脚本加载除了jquery!很烦人。我试图注销它,并使用谷歌图书馆 - 但它只是不会加载。 – Scientized

+0

这可能有多种原因可能发生。我建议你避免试图注销它,看看它是否加载。请注意,它会加载到您网站的头部。打开你的父主题的header.php(或者如果你正在覆盖的话就是子主题),并确保存在'wp_head();'存在 –

+0

就是这样,但是上面带有数组(“jquery”)的任何脚本都不会加载...所以我知道这不是加载,我只是想弄清楚为什么... – Scientized