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

wp_localize_script为何名为本地化却创建全局变量?

为什么wp_localize_script叫「本地化」函数?

你观察得没错——这个函数确实会在前端生成一个全局变量,但它的命名「本地化」来自它的设计初衷:为JavaScript提供多语言翻译支持,传递普通变量只是它的附加用法。

WordPress作为支持多语言的内容管理系统,很多前端交互里的文本(比如按钮文案、提示信息)需要跟随站点语言切换。如果直接在JS文件里写死文本,多语言场景下根本没法翻译。wp_localize_script的核心作用,就是把PHP中已经通过__()、_e()等函数完成本地化翻译的文本,传递给前端JS,让JS也能调用对应语言的文本内容。

举个典型的本地化用法例子:

wp_register_script('test', get_stylesheet_directory_uri() . '/js/test.js', ['jquery']);
wp_localize_script('test', 'TEST', [
    'submitBtn' => __('提交表单', 'your-theme-domain'),
    'errorTip' => __('请填写正确的信息', 'your-theme-domain')
]);
wp_enqueue_script('test');

对应的JS代码:

jQuery(document).ready(function(){
  // 此时输出的文本会跟随站点语言自动切换
  console.log(TEST.submitBtn);
})

后来开发者发现,这个函数可以用来传递任何PHP端的变量到JS(比如接口URL、用户ID这类非文本数据),所以现在它被广泛用作PHP与JS的数据传递工具,但这只是它的扩展功能,「本地化」这个名字还是源于它最初的多语言支持定位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:36:27