如何将存储在“Assets”文件夹中的样式表出列?

时间:2018-02-12 作者:Craig

如何将位于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 文件位于子主题内。

是否有人能够看到我可能出错的地方,或者是否可能是父级“资产”文件夹中的文件不能被覆盖,可以说是子主题中的文件等。

1 个回复
最合适的回答,由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。

结束

相关推荐

自定义菜单|设置无样式/SCSS代码格式

我正在尝试制作一个插件,该插件将在主题的自定义菜单中插入一个选项,允许您编辑SCS和更少的内容。我已经创建了字段并让它们工作,但我无法在编辑器框上使用颜色格式。在查看WP源代码后,我发现:https://github.com/WordPress/WordPress/blob/master/wp-includes/customize/class-wp-customize-code-editor-control.php因此,我构建了一个脚本,根据源代码读取的内容格式化所有内容。这仍然不是框的样式。这是我的代码