wordpress 中如何在子主题中移子主题的样式,保留父主题的样式
wordpress中使用子主题制作新的主题非常方便和有用。为什么采取子主题的方式可以,看下这篇文章。为什么要通过创建wordpress子主题的方式修改主题
这里有个问题就是,会在子主题中使用 @import 的方式引入了父主题中的样式。我个人不太喜欢这样方式,也会有速度方面的问题。
在子主题中移除自己的样式
<?php
add_action('wp_enqueue_scripts',function () {
if(is_child_theme()) {
wp_dequeue_style(wp_get_theme()->template . '-stylesheet');
wp_enqueue_style('style', get_template_directory_uri() .'/style.css', null, null );
wp_enqueue_style('style-child', get_stylesheet_directory_uri() .'/style.css', null, null );
}
}, 999);
通常来说,在子主题中,会加载一条样式 id 为 父主题的名字 + -stylesheet-css
的样式,内容是子主题中的 style.css
内容。可以通过下面的代码进行移除。
wp_dequeue_style(wp_get_theme()->template . '-stylesheet');
然后加载模板目录的样式
wp_enqueue_style('style', get_template_directory_uri() .'/style.css', null, null )
最后增加自己需要的新的样式
wp_enqueue_style('style-child', get_stylesheet_directory_uri() .'/style.css', null, null )
最终可以保留模板中的样式文件,同时新增加一个子主题的样式文件。这样分开,即使后期更新了模板主题,休要修改子主题也非常方便。
一句话便于维护。