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

WordPress主题开发报错:Undefined constant 'all' 求解决及新版教程

问题解决与现代WordPress主题开发建议

错误修复

出现Undefined constant "all"致命错误,是因为你在wp_enqueue_style的第五个参数中直接写了all——PHP会将无引号的标识符视为常量,而这个常量根本不存在,所以触发错误。正确做法是把all作为字符串传入,添加单/双引号。

另外,你用wp_enqueue_style加载Font Awesome的JS Kit是错误的,JS文件必须用wp_enqueue_script来加载,否则可能导致资源加载异常。

修正后的完整代码:

<?php 

// 添加CSS和JS文件
function cm_setup() {
  // 加载Google字体
  wp_enqueue_style('google-fonts', '//fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
  
  // 加载Font Awesome JS Kit(改用wp_enqueue_script)
  wp_enqueue_script('fontawesome', '//kit.fontawesome.com/a8cbd25639.js', array(), null, true);
  
  // 加载主题样式表,修正media参数为字符串'all'
  wp_enqueue_style('style', get_stylesheet_uri(), NULL, microtime(), 'all');
  
  // 加载主题JS文件
  wp_enqueue_script('main', get_theme_file_uri('/js/main.js'), NULL, microtime(), true);
}

add_action('wp_enqueue_scripts', 'cm_setup');

贴合当前WordPress版本的开发建议

  1. 严格遵循函数参数规则:wp_enqueue_style的第五个参数$media要求传入字符串,除了'all',还支持'screen'、'print'或自定义媒体查询字符串,必须用引号包裹。
  2. 资源加载规范:
    • CSS文件用wp_enqueue_style,JS文件用wp_enqueue_script,绝对不能混用。
    • 版本号用microtime()可以强制刷新浏览器缓存,适合开发阶段;上线后建议改用主题版本号,比如wp_get_theme()->get('Version'),更稳定。
  3. 教程选择建议:
    • 优先看WordPress官方文档,内容随版本实时更新,能保证参数和用法的正确性。
    • 选教程时尽量挑近2-3年的,避免用2019年这类过时内容——现在WordPress的主题开发已经融合了区块编辑器(Gutenberg),旧教程可能完全没涉及这块的兼容。
    • 开发时遵循WordPress编码规范,比如函数命名用小写加下划线、注释清晰,后续维护会省心很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:18:28