如何在Wordpress子主题functions.php中正确排队retina.js?

时间:2013-12-10 06:58:27

标签: javascript php jquery wordpress retina.js

所以我只是发现Wordpress儿童主题的世界,它对我来说特别有前途,因为我编辑的不仅仅是CSS(一些php和js文件)。我知道我的孩子主题工作正常,因为我复制了在404.php页面上,对内容进行了一些更改并尝试强制404,它给了我新的子主题的404页面 - 所以到目前为止我们知道它正在工作。

现在我遇到了在我的子主题中的functions.php文件中将retina.js入队的问题。我的问题是我似乎无法弄清楚如何更改代码以使其指向主题中的retina.js文件,而不是。我知道至少enqueue是有效的,因为它只存在于我的子主题中的functions.php中,并且它不在我的父主题中(否则它无论如何都不会起作用。)我已经通过删除视网膜来测试它。来自父主题的js文件,注意到它显然停止工作,然后重新上传文件并获取视网膜图像。

我将发布下面的代码,我将非常感谢帮助它指向子主题文件,而不是父文件。提前谢谢!

<?php 


#-----------------------------------------------------------------#
# Enqueue retina.js
#-----------------------------------------------------------------#


add_action( 'wp_enqueue_scripts', 'retina_support_enqueue_scripts' );
/**
 * Enqueueing retina.js
 *
 * This function is attached to the 'wp_enqueue_scripts' action hook.
 */
function retina_support_enqueue_scripts() {
    wp_enqueue_script( 'retina_js', get_template_directory_uri() . '/js/retina.js', '', '', true );
}


?>

编辑: @Veelen在下面回答了我的问题,对于那些好奇的人来说,这就是我的孩子主题中的functions.php最终看到修复的方式:

<?php 


#-----------------------------------------------------------------#
# Register/Enqueue retina.js
#-----------------------------------------------------------------#


add_action( 'wp_enqueue_scripts', 'retina_support_enqueue_scripts' );
/**
 * Enqueueing retina.js
 *
 * This function is attached to the 'wp_enqueue_scripts' action hook.
 */
function retina_support_enqueue_scripts() {
    wp_enqueue_script( 'retina_js', get_stylesheet_directory_uri() . '/js/retina.js', '', '', true );
}


?>

1 个答案:

答案 0 :(得分:2)

您必须使用get_stylesheet_directory()而不是get_template_directory_uri()。