我正在尝试通过使用过滤器更改区域设置来更改网站的语言。
我的functions.php:
TextView
在我的模板上:
function change_locale_lang($langa) {
error_log('a : ' . $langa);
if($langa == 1) return 'en_US';
elseif($langa == 2) return 'fr_FR';
}
add_filter('locale', 'change_locale_lang', 10);
这个功能很好,但是5次很好,1次很好!
我的debug.log:
<?php change_locale_lang(1); ?>
我检查了所有模板,[08-Dec-2017 11:10:09 UTC] a : fr_FR
[08-Dec-2017 11:10:09 UTC] a : fr_FR
[08-Dec-2017 11:10:09 UTC] a : fr_FR
[08-Dec-2017 11:10:09 UTC] a : 1
[08-Dec-2017 11:10:09 UTC] a : fr_FR
[08-Dec-2017 11:10:09 UTC] a : fr_FR
只被调用了一次。
当我执行change_locale_lang()
而不是上面的代码时,它会起作用。