如何在WordPress中将HTML lang从en-US改为en-UK?已选en-UK却显示en-GB
解决WordPress中HTML lang属性改为en-UK的问题
后台选择en-UK语言后页面输出lang="en-GB",是因为WordPress的语言代码映射规则里,en-UK会被映射为标准的en-GB(英国英语的官方ISO代码)。要强制输出lang="en-UK",可以通过以下方法实现:
方法一:全局强制设置lang属性
在主题的functions.php文件(推荐用子主题,避免主题更新丢失修改)或自定义功能插件中添加以下代码:
add_filter( 'language_attributes', 'custom_html_lang_attribute' ); function custom_html_lang_attribute( $attrs ) { // 替换所有现有lang属性值为en-UK return preg_replace( '/lang="[^"]+"/', 'lang="en-UK"', $attrs ); }
方法二:精准替换en-GB为en-UK
如果只需要针对当前输出的en-GB进行替换,用更精准的字符串替换逻辑:
add_filter( 'language_attributes', 'replace_en_gb_with_en_uk' ); function replace_en_gb_with_en_uk( $attrs ) { return str_replace( 'lang="en-GB"', 'lang="en-UK"', $attrs ); }
注意事项
- 修改
functions.php前请先备份文件,防止代码错误导致网站故障 - 优先使用子主题或自定义插件添加代码,避免主题更新时覆盖修改
内容的提问来源于stack exchange,提问作者bgcoder
相关产品推荐
相关产品推荐

