我正在开发一个多语言网站,我差不多完成了,除了烦人的细节:搜索表单显示所有语言的结果。
<form action="<?php echo esc_url( home_url( '/' ) ); ?>">
我设法理解,如果我将语言前缀(例如 en / 用于英语)放入表单操作中,它将显示当前语言结果。
<form action="<?php echo esc_url( home_url( '/' ) ); ?>en/">
我现在需要做的是将 en / 替换为能够检测当前语言的PHP代码,以便在表单操作中添加正确的前缀。我可以告诉代码读取html lang属性并回显正确的内容,但我不知道如何。 目前这就是我所做的:
<?php if (get_lang() == 'it-it') {echo "it/";} elseif (get_lang() == 'en-us') {echo "en/";} else {echo "zh/";}?>
如何检测页面语言以修改表单操作并显示正确的内容?
答案 0 :(得分:3)
使用 substr 而非链接if else
进行黑客攻击:
echo substr(get_lang(), 0, 2) . "/"; // echo first two characters of get_lang()
您还可以使用 Locale::getPrimaryLanguage() :
echo Locale::getPrimaryLanguage(get_lang()) . "/";