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

如何在WordPress+Rank Math+WPML中将hreflang从en-ae格式化为en-AE?

解决WPML hreflang格式从en-ae转为en-AE的问题

你需要将WPML生成的hreflang属性值从en-ae调整为en-AE,但现有代码会把整个字符串转为大写(变成EN-AE),手动在WPML设置里调整也没效果。

可以用下面的自定义函数替代原有代码,只把hreflang里的区域代码部分转为大写,语言部分保持小写:

function fix_hreflang_case($hrefs) {
    $fixed_hrefs = [];
    foreach ($hrefs as $lang_code => $url) {
        // 拆分语言和区域部分
        $parts = explode('-', $lang_code);
        if (count($parts) === 2) {
            // 语言小写,区域大写
            $fixed_lang = strtolower($parts[0]) . '-' . strtoupper($parts[1]);
            $fixed_hrefs[$fixed_lang] = $url;
        } else {
            // 没有区域的语言代码直接保留
            $fixed_hrefs[$lang_code] = $url;
        }
    }
    return $fixed_hrefs;
}
add_filter('wpml_hreflangs', 'fix_hreflang_case');

代码说明:

  • 遍历WPML返回的hreflang数组,逐个处理每个语言代码
  • 用explode('-', $lang_code)拆分语言(如en)和区域(如ae)部分
  • 语言部分强制转小写,区域部分强制转大写,再拼接成语言-区域的格式
  • 对于没有区域的语言代码(如en),直接保留原格式

把这段代码添加到你的主题functions.php文件或者自定义插件中,就能生成符合要求的en-AE格式hreflang属性了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:06:27