有些时候为个性化主题,我们会制作子主题方便修改主题功能外观,而不用修改原主题,通常我们会用:
- url( \’../parent-theme-folder/style.css\’ );
这种方式加载父主题的样式。
详见:
- Codex: How to create a child theme
- Handbook: Inheriting styles in child themes
- _s Theme: Load parent styles when child theme is activated
但使用@ import方式加载样式也有一定的缺点,比如:加载慢等。
我们可以使用另一种加载父主题样式的方法:
- add_action( \’wp_enqueue_scripts\’, \’my_parent_theme_css\’ );
- my_parent_theme_css() {
- wp_enqueue_style( \’parent-style\’, get_template_directory_uri() . \’/style.css\’ );
- wp_enqueue_style( \’child-style\’, get_stylesheet_uri(), ( \’parent-style\’ ) );
- }
将代码添加到子主题functions.php 模板文件中。
还可以进一步:
- add_action( \’wp_enqueue_scripts\’, \’my_enqueue_styles\’ );
- my_enqueue_styles() {
- ( is_child_theme() ) {
- wp_enqueue_style( \’parent-style\’, trailingslashit( get_template_directory_uri() ) . \’style.css\’ );
- }
- wp_enqueue_style( \’style\’, get_stylesheet_uri() );
- }
在某些特殊的情况下,你可能不希望加载父主题的样式,可以这样写:
- add_action( \’wp_enqueue_scripts\’, \’my_dequeue_styles\’, 11 );
- my_dequeue_styles() {
- wp_dequeue_style( \’parent-style\’ );
- }
原文:http://justintadlock.com/archives/2014/11/03/loading-parent-styles-for-child-themes
暂无评论内容