css WordPress RTL,添加RTL到主题

f8rj6qna  于 2023-11-19  发布在  WordPress
关注(0)|答案(3)|浏览(161)

我有一个WordPress的主题,包括一个以上的CSS文件,例如

style.css
assets/main.css
assets/pager.css
assets/blog.css

字符串
我希望我的网站包含两种语言阿拉伯语和英语(LTR和RTL),但我的主题不支持RTL我编辑的所有方向的CSS文件创建新的CSS文件

style.css
style-rtl.css
assets/main.css
assets/main-rtl.css
assets/pager.css
assets/pager-rtl.css
assets/blog.css
assets/blog-rtl.css


现在我想知道我如何使WordPress使用标准的CSS文件时,访问者眉毛英语(LTR)和使用RTL CSS文件时,访问者眉毛阿拉伯语
问候

juzqafwq

juzqafwq1#

我不知道你使用的是什么翻译插件,所以我假设它是WPML。你需要做的是编辑你加载样式的地方。你的代码应该看起来像这样:

add_action( 'wp_enqueue_scripts', 'load_styles_by_language' );
function load_styles_by_language () {
  // check what is the current language and if it is not English then load the RTL
  if (ICL_LANGUAGE_CODE !== 'en') {
    // load the RTL style
    wp_enqueue_style( 'style_name', get_stylesheet_directory_uri . '/assets/main-rtl.css' );
  } else {
    // load the standard style
    wp_enqueue_style( 'style_name', get_stylesheet_directory_uri . '/assets/main.css' );
  }
}

字符串
ICL_LANGUAGE_CODE是一个保存当前语言代码的WPML全局变量,所以如果你没有使用WPML进行翻译,你应该检查你的翻译插件支持什么函数或全局变量来获取此信息。然后只需替换if语句中的ICL_LANGUAGE_CODE变量。
此代码应添加到functions.php文件中的child theme中。

jaxagkaj

jaxagkaj2#

我无法理解if if(ICL_LANGUAGE_CODE!== 'en'){ //加载RTL样式
第二种语言是ar(阿拉伯语),主题有13个css文件

9gm1akwq

9gm1akwq3#

最好的方法是

if(is_rtl()){
            wp_enqueue_style( 'theme-rtl-style', get_template_directory_uri() . '/style-rtl.css', array(), '1.0.0' );
    }

字符串

相关问题