You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress主题开发:functions.php中enqueue函数未调用,样式表未加载

解决WordPress主题中wp_enqueue_scripts钩子未触发、样式表无法加载的问题

我之前开发第一个WP主题时也踩过一模一样的坑!别慌,咱们从最常见的原因开始排查:

  • 首先检查header.php里的wp_head()函数
    这是最容易忽略的核心点!WordPress的wp_enqueue_scripts钩子是通过wp_head()来输出队列中的样式和脚本的。你必须在主题的header.php文件里,</head>标签的紧前面加上这段代码:

    <?php wp_head(); ?>
    

    没有这个函数,哪怕你的enqueue代码写得再规范,资源也不会被输出到页面里。

  • 确认当前激活的是你开发的主题
    别笑,我当初就犯过这个低级错误——在测试主题里改了半天functions.php,结果后台激活的还是默认主题!去「外观 → 主题」页面确认一下你的主题处于激活状态。

  • 检查style.css的主题头部注释是否合规
    WordPress对主题根目录的style.css有硬性要求:开头必须包含标准的主题信息注释,否则系统可能识别不了这个主题,导致get_stylesheet_uri()无法正确指向文件。注释格式参考:

    /*
    Theme Name: 我的第一个WP主题
    Description: 自定义开发的测试主题
    Version: 1.0
    Author: 我的名字
    */
    

    没有这段注释,甚至可能连主题都无法在后台正常显示。

  • 排查代码或插件冲突

    • 先暂时禁用所有插件,测试样式能不能加载。如果可以,再逐个启用插件,找到冲突的那个。
    • 检查你的functions.php里有没有其他代码修改了wp_enqueue_scripts钩子,比如用了remove_action,或者给add_action设置了极端优先级(比如优先级设为9999,被其他更早执行的代码覆盖了)。
  • 调试函数是否真的被调用
    可以给你的函数加个调试标记,确认它有没有被触发:

    function addExternalStuff(){
        // 输出到PHP错误日志,或者直接echo(echo会在页面顶部显示内容)
        error_log('addExternalStuff函数已执行!');
        wp_enqueue_style('style', get_stylesheet_uri());
    }
    add_action('wp_enqueue_scripts','addExternalStuff');
    

    然后查看PHP错误日志,或者直接看页面源码里有没有这段日志内容,判断函数是否真的没被调用。

  • 清空缓存再测试
    如果你的站点用了缓存插件(比如WP Rocket)或者服务器端缓存,修改后的代码可能不会立即生效。先清空所有缓存,再刷新页面看看。

内容的提问来源于stack exchange,提问作者auto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:02:10