Wordpress 过滤器语言环境和 add_action->switch_to_locale

问题描述

通过 add_action->switch_to_locale 更改语言环境有效,而 add_filter 无效。

add_filter

function change_locale( $locale ) {
if (is_singular()) {
        global $post;
        if(($post->ID=='1839') || ($post->ID=='577') || ($post->ID=='1346')){
            $locale = 'en_US';
        }
    }
    return $locale;
}
add_filter('locale','change_locale');

add_action

function change_to_english_local() {
    if (is_singular()) {
        global $post;
        if(($post->ID=='1839') || ($post->ID=='577') || ($post->ID=='1346')){
            switch_to_locale('en_US');
        }
    }
}
add_action( 'wp_enqueue_scripts','change_to_english_local');

为什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)