实际上我的问题是我已经有了一个功能性的Child主题,其中包含functions.php和许多其他的filesname.php以及一个正常工作的style.css,但是当我尝试添加其他样式表时,例如模块。 min.css主题只是在父文件夹中读取它所以我无法更改我的网站中的样式表,这很烦人
一些数据: 我要覆盖的父文件夹中的文件:\ wp-content \ themes \ startit \ assets \ css \ modules.min.css
子文件夹中的文件我想要阅读:\ wp-content \ themes \ startit-child \ assets \ css \ modules.min.css
我还尝试将modules.min.css放在styles.css旁边的子主题中,但是我无法覆盖父文件夹\ wp-content \ themes \ startit-child \ modules.min。 CSS
这就像我的functions.php:
<?php
function startit_enqueue_styles() {
$parent_style = 'startit-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'startit_enqueue_styles' );
?>
谢谢!
答案 0 :(得分:1)
// Add css file or js file
function activate_css() {
wp_enqueue_style('min_style_css', get_template_directory_uri() .'assets/css/modules.min.css'));
));
}
//add css
add_action( 'init','activate_css');
答案 1 :(得分:0)
有几种方法可以做到这一点,最简单的方法是:
添加/排队新的CSS文件
function PREFIX_remove_scripts() {
wp_dequeue_style( 'put_modules_file_handler_here' );
wp_deregister_style( 'put_modules_file_handler_here' );
// Now register your child CSS here, using wp_enqueue_style
}
add_action( 'wp_enqueue_scripts', 'PREFIX_remove_scripts', 20 );
一些常见的混淆
您是否应该将子样式以及父样式排入队列?有必要吗?关于在儿童主题中排列样式表存在很多困惑。答案取决于父样式如何包含在父主题中。例如,如果父主题使用get_stylesheet_uri()
将样式排入队列,
例如Twenty Sixteen:
wp_enqueue_style('twentysixteen-style', get_stylesheet_uri());
然后您不需要将子样式排入队列。这是因为get_stylesheet_uri()
返回当前活动主题的URL,在这种情况下是子主题。
这是使用子主题时返回网址的方式
get_stylesheet_uri() = http://example.com/wp-content/themes/example-child/style.css
get_template_directory_uri() = http://example.com/wp-content/themes/example-parent
get_stylesheet_directory_uri() = http://example.com/wp-content/themes/example-child
因此,我建议您检查一下您的父functions.php
并查看该样式如何排队,以便您可以正确处理它。