WordPress自定义主题加载stylesheet时出现404错误求助
WordPress自定义主题样式404加载失败的排查方案
先查文件路径是否正确
你得确认wp_enqueue_style里用的路径函数和主题结构匹配:- 父主题用
get_template_directory_uri(),子主题用get_stylesheet_directory_uri(),别搞混; - 比如样式在主题根目录的
css文件夹里,路径要写成get_template_directory_uri() . '/css/style.css',开头的斜杠不能漏,也别多写层级;
打开浏览器F12进入Network面板,查看样式文件的请求地址,复制到地址栏直接访问,对比本地文件路径找差异,一眼就能看出是不是路径出错。
- 父主题用
核对文件名与代码拼写
- 本地样式文件名(比如是
style.css还是main.css)和代码里写的必须完全一致,Linux服务器大小写敏感,别把Style.css写成style.css; - 还要确认
enqueue.php有没有被正确引入到functions.php,比如是否写了require get_template_directory() . '/inc/enqueue.php';,路径要对应你的enqueue.php实际位置。
- 本地样式文件名(比如是
检查enqueue代码格式
正确的样式加载代码参考示例:function custom_theme_load_styles() { wp_enqueue_style( 'custom-theme-main', get_template_directory_uri() . '/style.css', array(), wp_get_theme()->get('Version'), 'all' ); } add_action( 'wp_enqueue_scripts', 'custom_theme_load_styles' );注意这几点:
- 函数名要唯一,别和其他插件/主题重名;
- 第一个参数(句柄)是唯一标识,避免和其他样式冲突;
- 第三个参数是依赖数组,没有依赖就留空数组
array(); - 版本号用主题版本,能避免浏览器缓存旧样式;
- 最后一个参数是媒体类型,一般写
all即可。
清空缓存测试
- 按
Ctrl+Shift+R强制刷新浏览器,清空本地缓存; - 如果装了WP Rocket这类缓存插件,先禁用或者清空缓存;
- 服务器自带的缓存(比如Nginx、CDN)也暂时关掉测试,很多时候缓存会导致路径未更新。
- 按
检查主题根目录style.css的头部注释
WordPress要求主题根目录的style.css开头必须包含主题信息注释,否则可能无法识别主题,导致路径解析出错,格式参考:/* Theme Name: 我的自定义主题 Theme URI: https://我的站点.com/ Author: 我的名字 Author URI: https://我的主页.com/ Description: 为我的站点搭建的自定义主题 Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: my-custom-theme */
内容的提问来源于stack exchange,提问作者Shemeera
相关产品推荐
相关产品推荐

