Wpml和不同方向的语言

时间:2017-01-15 作者:Muhammad Naderi

我不知道这个问题在其他情况下是否也存在,但下面是我如何遇到它的。

我的网站的默认语言是波斯语,我在其中添加了带有WPML的英语。问题是,当我加载我的英文链接时is_rtl() 方法仍然返回true,就好像没有为英语正确设置一样!

不幸的是,这个方法太简单了,很多css文件和其他与方向相关的东西都在检查这个方法。因此,在我的英文页面中,方向仍然是rtl,所有内容看起来都是镜像的

有什么想法吗?

1 个回复
SO网友:Muhammad Naderi

找不到is_rtl() 工作不正常,但发现wpml_is_rtl 做自己的事,

因此,通过将此代码添加到主题functions.php 一切似乎都很好:

if ( apply_filters( \'wpml_is_rtl\', null) ) {
    mu_fix_is_rtl(true);
}else {
    add_filter(\'language_attributes\',\'mu_alter_language_attributes\');
    mu_fix_is_rtl(false);
}

function mu_alter_language_attributes($output, $doctype){
    return str_replace(\'rtl\',\'ltr\',$output);
}

function mu_fix_is_rtl($rtl){
    global $wp_locale;
    if($rtl){
        $wp_locale->text_direction = \'rtl\';
    }else{
        $wp_locale->text_direction = \'ltr\';
    }
}

相关推荐