提问人:ُEcarv 提问时间:8/11/2018 最后编辑:PaebbelsُEcarv 更新时间:11/18/2023 访问量:970
Wordpress RTL,将RTL添加到主题
Wordpress RTL , Add RTL to theme
问:
例如,我有一个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 文件
此致敬意
答:
1赞
Ale
8/11/2018
#1
我不知道你用的是什么翻译插件,所以我假设它是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进行翻译,则应检查您的翻译插件支持什么函数或全局变量来获取此信息。然后只需替换语句中的 ICL_LANGUAGE_CODE 变量即可。if
此代码应添加到文件中的子主题中。functions.php
0赞
ُEcarv
8/12/2018
#2
我不明白如果 if (ICL_LANGUAGE_CODE !== 'en') { 加载 RTL 样式
第二语言是AR(阿拉伯语) 主题有 13 个 CSS 文件
0赞
umusi
11/18/2023
#3
最好的方法:
if(is_rtl()){
wp_enqueue_style( 'theme-rtl-style', get_template_directory_uri() . '/style-rtl.css', array(), '1.0.0' );
}
评论