有些时候为个性化主题,我们会制作子主题方便修改主题功能外观,而不用修改原主题,通常我们会用:
@import url( '../parent-theme-folder/style.css' );
这种方式加载父主题的样式。
但使用@ import方式加载样式也有一定的缺点,比如:加载慢等。
我们可以使用另一种加载父主题样式的方法:
add_action( 'wp_enqueue_scripts', 'my_parent_theme_css' );function my_parent_theme_css() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );}
将代码添加到子主题functions.php 模板文件中。
还可以进一步:
add_action( 'wp_enqueue_scripts', 'my_enqueue_styles' );function my_enqueue_styles() { /* If using a child theme, auto-load the parent theme style. */ if ( is_child_theme() ) { wp_enqueue_style( 'parent-style', trailingslashit( get_template_directory_uri() ) . 'style.css' ); } /* Always load active theme's style.css. */ wp_enqueue_style( 'style', get_stylesheet_uri() );}
在某些特殊的情况下,你可能不希望加载父主题的样式,可以这样写:
add_action( 'wp_enqueue_scripts', 'my_dequeue_styles', 11 );function my_dequeue_styles() { wp_dequeue_style( 'parent-style' );}