如何将位于wp-content > themes > theme-name > assets > css > theme-skin > color.css
?
源代码中输出的代码为:
<link rel=\'stylesheet\' id=\'theme-skin-color-css\' href=\'https://www.example.com/wp-content/themes/theme-name/assets/css/theme-skin/color.css?ver=4.9.4\' type=\'text/css\' media=\'all\' />
我尝试将以下代码输入到functions.php
文件:
<?php
function remove_parent_styles(){
wp_enqueue_style( \'theme-skin-color-css\', get_template_directory_uri() . \'/assets/css/theme-skin/color.css\' );
}
remove_action( \'wp_enqueue_scripts\', \'remove_parent_styles\', 1 );
?>
不幸的是,这并没有奏效。值得注意的是,我正在使用WordPress的父主题,其中
functions.php
文件位于子主题内。
是否有人能够看到我可能出错的地方,或者是否可能是父级“资产”文件夹中的文件不能被覆盖,可以说是子主题中的文件等。
最合适的回答,由SO网友:Jacob Peattie 整理而成
您需要做两件事:
钩住wp_enqueue_scripts
优先级晚于父主题。默认值为10
所以这是一个很好的假设。如果11
如果不起作用,请检查父主题的源以查看它所连接的优先级使用wp_dequeue_style()
执行出列看起来像:
function wpse_293836_dequeue_parent_styles(){
wp_dequeue_style( \'theme-skin-color\' );
}
add_action( \'wp_enqueue_scripts\', \'wpse_293836_dequeue_parent_styles\', 11 );
请注意,您只需要要出列的脚本/样式的句柄。路径无关紧要。把手应该是
theme-skin-color
正如WordPress添加的
-css
到ID。