我在通过子主题覆盖父主题文件时遇到问题。通常我通过遵循相同的文件结构/路径将父主题文件复制到子主题,并且可以正常工作。但是这次它不起作用。我不确定是什么问题...
父文件位于:
wp-content/themes/THEMENAME/assets/js/FILENAME.js
我把这个主题放在子主题中:
wp-content/themes/CHILDTHEME/assets/js/FILENAME.js
此文件存在相同问题:
父路径:
wp-content/themes/THEMENAME/includes/FILE.php
子路径:
wp-content/themes/CHILDTHEME/includes/FILE.php
我很确定,我缺少一些技术性的东西,但我无法弄清楚。寻找帮助!
答案 0 :(得分:0)
子主题不会覆盖css / js文件,要实现这一点,您将需要在子function.php文件中将这些脚本出队,您需要获取父主题用来使其入队的脚本句柄名称。 / p>
add_action( 'wp_enqueue_scripts', function(){
wp_dequeue_script( 'script-handle-name' );
}, PHP_INT_MAX );
子主题仅覆盖模板文件Template Hirarchy
要覆盖php文件,有两个条件:
1)如果您要覆盖的文件功能已被添加到操作/过滤器中,请在子主题functions.php文件中创建一个名称不同的功能,并以更高的优先级对其进行挂钩。
2)如果要覆盖函数本身,则只有在具有条件的父主题中创建函数时,才可以在子主题functions.php中使用相同的名称重新创建函数。
if ( ! function_exists ( 'my_function' ) ) {
function my_function() {
}
}
否则,它将引发致命错误。