有些时候为个性化主题,我们会制作子主题方便修改主题功能外观,而不用修改原主题,通常我们会用:
- @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
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
广西南宁市 1F
以前喜欢用子主题,现在都是喜欢直接修改了,感觉这样比较容易一些
四川省 B1
@ boke112导航 呵呵,我也是 。有更新了,用文件比较软件比较一下。
广东省广州市 B2
@ 守心斋 说的不错
广东省深圳市 B1
@ boke112导航 你们懂PHP的可以直接修改,小白不懂,还得苦逼地用主题!
浙江省杭州市 2F
原来用过你的主题,支持下
换链接吗www.caotama.com 操他妈
上海市 3F
鸟哥,仿个百度百家的风格。
中国 B1
@ 投融记 度娘那个不是响应式设计,有什么可仿的,这个简洁样式,就可以了
http://zmingcx.com/demo/blog/
江苏省苏州市 4F
收藏了先~~~~
湖南省长沙市 5F
支持
重庆市 6F
我感觉直接换主题来得更直接些,搞起来也容易,弄子主题的话,我感觉特别的麻烦,可能是我变懒了
江苏省南京市 7F
不错的方法
山东省烟台市 8F
有个问题非常纠结,一直找不到解决的方法,求教:我的网站设置了一组对联广告,在PC端显示OK,但是手机端就会把页面内容遮挡,所以不想让这个广告在手机端显示。
江苏省南通市 9F
还是喜欢简单的主题,不过也经常看到海外的WP主题这样操作。
河南省郑州市 10F
学习了
浙江省宁波市 11F
还是比较喜欢看类似的博客的确实不错
江苏省苏州市 12F
暂时只想使用一个主题。
湖北省 13F
你的主题可否提供XML,想设置一样不容易啊
河南省南阳市 14F
马克先
上海市 15F
正好要用到,多谢,学习了!
广东省广州市 16F
主题很漂亮,极致简洁
河北省 17F
..沙发