例如,我有一个包含多个css文件的wordpress主题
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文件。
致以最美好的问候
发布于 2018-08-11 15:49:31
我不知道你使用的翻译插件是什么,所以我假设它是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中。
发布于 2018-08-12 00:40:48
我无法理解如果(ICL_LANGUAGE_CODE !== 'en') { //加载RTL样式
第二种语言是阿语(阿拉伯语),主题有13个css文件
https://stackoverflow.com/questions/51793274
复制相似问题