所以我只是发现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 );
}
?>
答案 0 :(得分:2)
您必须使用get_stylesheet_directory()而不是get_template_directory_uri()。