wordpress插件仅在sublime text识别为php语法(source.php作用域)的文件中生效,需手动设置语法为php,不支持html/js/css/twig等其他类型文件,且补全为静态硬编码,不解析函数文档或推导参数类型。

WordPress插件只对 functions.php 等 PHP 文件生效,不是装了就全局可用
这个插件本质是一堆 .sublime-snippet 和 .sublime-completions 文件,只在 Sublime 识别为 PHP 语法时加载。如果你打开的是 index.html 或没设置语法,右下角显示 Plain Text,那它完全不工作。
必须手动确认:光标放在代码区 → 按 Ctrl+Shift+P → 输入 Set Syntax: PHP 回车。或者直接点击右下角文本,选 PHP(不是 HTML (PHP) 或 PHP (HTML))。
- 插件不支持 JS、CSS、Twig 或 Blade 文件里的 WordPress 函数调用
-
wp-content/themes/twentytwentyfour/functions.php这类路径能用,但wp-config.php里写add_action不会触发补全(因为它是纯 PHP 配置文件,但插件没为其注册作用域) - 补全项只包含函数名和基础签名,比如
add_action('hook', 'callback'),不会推导你已定义的回调函数名
auto_complete_selector 必须设成 "source.php",设成 "source text" 会失效
旧教程里写的 "auto_complete_selector": "source text" 是 Sublime Text 2 时代的写法,现在完全不兼容。ST4 默认的 PHP 作用域是 source.php,不是 source 或 text。
打开 Preferences → Settings (User),确保有这行:
{
"auto_complete_selector": "source.php"
}
- 如果同时写多个作用域,用数组:
"auto_complete_selector": ["source.php", "source.twig"](但 WordPress 插件本身不提供 Twig 补全) - 别加
"auto_complete_triggers"—— 这个插件不依赖触发器,靠作用域自动激活 - 改完设置后不用重启,但当前文件要重新 Set Syntax 才生效
补全弹不出来?先看状态栏有没有 WordPress 标识
装完插件后,打开一个合法的 PHP 文件(如 functions.php),把光标停在空白行,输入 add_,然后按 Ctrl+Space。如果什么都没出现,不是插件坏了,而是没加载。
看窗口右下角:正常应显示 PHP + WordPress(小字)。如果没有 WordPress,说明插件没被识别为当前作用域的补全源。
- 检查插件是否真装进
Packages/WordPress/目录(不是Packages/User/WordPress/) - 确认
Packages/WordPress/WordPress.sublime-completions文件存在且内容含"scope": "source.php" - 别和 LSP 插件共存:LSP 启用后会接管补全入口,
Ctrl+Space只显示 LSP 提示,WordPress 的静态补全被压根忽略
别指望它补 get_post_meta 的第三个参数类型
这个插件只是文本模板拼接工具,不是语言服务器。它不会读你的 wp-includes/post.php,也不会解析函数文档块(phpdoc)来推参数类型或默认值。
你输入 get_post_meta,它只会展开成:
get_post_meta($post_id, $key, $single);
-
$post_id和$key不会自动替换成get_the_ID()或'_thumbnail_id' -
$single不会提示true/false,更不会标注“默认false” - 所有补全是硬编码的,新增的 WP 6.5 函数(如
wp_get_global_styles)不会自动出现,得等插件作者手动更新
真要参数级提示,得切到 LSP-pyright(对 PHP 不适用)或换用 PhpStorm / VS Code + WordPress Snippets 扩展——Sublime 的 WordPress 插件,定位就是快速写骨架,不是查文档。











