WordPress 是一个多语言的内容管理系统,有完善的多语言发开 API。在开发多语言的主题或插件时,只需要使用语言包即可实现语言本地化。

但是,在实际开发中,只有语言包可能无法保证 100% 的兼容。因为语种、字体的不同,可能需要给某些语言单独添加 CSS 样式。

给不同的语言添加不同的样式只需要把下边的代码放到主题的 functions.php 或者插件之中:


/**
    *WordPress 为不同的语言添加不同的样式
    *
*/
function Bing_body_class_add_locale( $classes ){
    $classes[] = 'locale-' . sanitize_html_class( get_locale() );
    return $classes;
}
add_filter( 'body_class', 'Bing_body_class_add_locale' );

这样,body 标签就会在不同的语种出现不同的 Class 类。比如简体中文就会有 “locale-zh_CN”、美式英语就会有 “locale-en_US”。
这样,利用这个 Class 类,就可以给不同的语种添加不同的样式,比如下边的 CSS 代码,为简体中文单独设置了字体:


body.locale-zh_CN {
    font-family: 'Hiragino Sans GB', 'Microsoft Yahei', '宋体', Helvetica, Arial, Sans-serif;
}