另一种加载父主题样式的方法
有些时候为个性化主题,我们会制作子主题方便修改主题功能外观,而不用修改原主题,通常我们会用: @import …
有些时候为个性化主题,我们会制作子主题方便修改主题功能外观,而不用修改原主题,通常我们会用:
- @import 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’ );
- 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’ );
- }
原文:http://justintadlock.com/archives/2014/11/03/loading-parent-styles-for-child-themes
类别:WordPress入门、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!