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

如何在WordPress+Polylang中获取指定语言的首页URL?

解决Polylang多语言网站获取对应语言首页URL的问题

当然可以获取当前选中语言的首页URL啦!你遇到的home_url()始终返回英文首页的问题,是因为这个WordPress核心函数只会返回你设置的站点主URL,而Polylang的多语言首页是基于自定义页面映射的,所以得用Polylang专门提供的函数来处理。

最简单的解决方案:使用pll_home_url()函数

Polylang内置了pll_home_url()函数,专门用来获取对应语言的首页地址,用法非常简单:

  • 不带参数时,直接返回当前活跃语言的首页URL:

    // 获取当前选中语言的首页URL
    $current_lang_home = pll_home_url();
    echo $current_lang_home;
    

    比如当前切换到法语,就会返回https://www.example.com/fr/accueil/;切换到西班牙语则返回https://www.example.com/es/inicio/,英文状态下返回主域名https://www.example.com。

  • 如果需要指定某一种语言的首页,只需要传入对应的语言代码即可:

    // 获取法语首页
    $french_home = pll_home_url('fr');
    // 获取西班牙语首页
    $spanish_home = pll_home_url('es');
    // 获取英文首页
    $english_home = pll_home_url('en');
    

为什么home_url()不好用?

WordPress的home_url()是核心函数,它读取的是你在「设置→常规」里填写的「站点地址(URL)」,也就是你的英文首页地址,不会自动适配Polylang的多语言页面映射规则,所以切换语言后它还是会返回英文首页。

额外注意事项

确保你的Polylang设置已经正确配置了各语言的首页:在Polylang的设置页面,确认法语的首页已选择accueil页面,西班牙语的首页已选择inicio页面,这样pll_home_url()才能正确返回对应地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:22:54