WordPress 4.9.4中style.css及自定义CSS文件失效问题求助
首先,我注意到你提供的functions.php代码里有个小拼写错误——boostrap应该是bootstrap,这个笔误会导致Bootstrap的CSS文件无法正确加载,先把这个修正过来:
function theme_styles(){ wp_enqueue_style( 'style', get_stylesheet_uri() ); // 修正拼写错误:boostrap → bootstrap wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css'); } add_action('wp_enqueue_scripts', 'theme_styles');
接下来针对style.css和自定义CSS不生效的问题,给你几个排查和修复的方向:
先确认CSS文件是否真的被加载
打开浏览器的开发者工具(按F12),切换到「Network」标签,刷新页面后搜索对应的CSS文件(比如style.css)。如果找不到文件,说明路径有问题:- 如果你用的是子主题:
get_stylesheet_uri()指向的是子主题目录下的style.css,请确认这个文件存在,并且文件开头的主题信息头(比如Theme Name、Version这些)格式正确,WordPress才会正常识别它。 - 如果你用的是父主题:可以尝试把
get_stylesheet_uri()替换成get_template_directory_uri() . '/style.css',明确指定文件路径。
- 如果你用的是子主题:
检查样式是否被覆盖
如果文件已经加载,但样式没生效,大概率是优先级问题。在开发者工具的「Elements」标签里选中目标元素,查看「Styles」面板——如果你的样式被划掉,说明被其他更高优先级的样式覆盖了。这种情况可以:- 使用更具体的CSS选择器(比如用
.site-header .nav-link代替.nav-link) - 临时用
!important测试效果(不推荐长期依赖,尽量优化选择器优先级)
- 使用更具体的CSS选择器(比如用
清空所有缓存
缓存是常见的“隐形坑”,先试试强制刷新浏览器(Ctrl+Shift+R),如果装了缓存插件(比如W3 Total Cache、WP Rocket),去插件后台清空所有缓存;有些主题自带缓存功能,也记得一并清理。自定义CSS的处理
如果你的自定义CSS是单独的文件,需要把它正确入队,并且确保加载顺序在其他样式之后,这样才能覆盖前面的样式。比如在theme_styles()里添加:
wp_enqueue_style( 'custom', get_template_directory_uri() . '/css/custom.css', array('style', 'bootstrap') );
第三个参数array('style', 'bootstrap')是指定依赖,确保自定义CSS在这两个样式之后加载。
如果是用WordPress自带的「额外CSS」功能(外观→自定义→额外CSS),确认你的主题支持这个功能——WordPress 4.7+默认支持,但有些老主题可能需要在functions.php里添加:
add_theme_support( 'custom-css' );
内容的提问来源于stack exchange,提问作者Adnan Rahman

