我有一个wordpress网站,语言与RTL保持一致,但有些页面是英文的。然而,这些页面看起来很糟糕,因为英文文本与RTL语言对齐,标点符号等出现在错误的一侧。
如何设置单个页面或多个单独页面的语言?
我有一个wordpress网站,语言与RTL保持一致,但有些页面是英文的。然而,这些页面看起来很糟糕,因为英文文本与RTL语言对齐,标点符号等出现在错误的一侧。
如何设置单个页面或多个单独页面的语言?
这个locale
允许您专门设置语言环境的筛选器。您可以检查当前页面,并在此基础上更改值。
add_filter(\'locale\', \'change_my_locale\');
function change_my_locale( $locale ) {
if ( is_page(\'slug-here\') ) {
return \'en_US\';
}
return $locale;
}
您应该使用locale
钩子解决你的任务。
重要提示:您不能将其添加到主题中并使用is_page
函数,因为它将稍后定义。
所以你必须创造plugin 或must use plugin 以这种方式解析url:
add_filter(\'locale\', function($locale) {
$path = trim($_SERVER[\'REQUEST_URI\'], "/");
// get last part as slug
$arr = explode("/", $path);
$slug = end($arr);
if($slug === \'MY_SLUG\')
return \'ru_RU\';
return $locale;
});
相关答案:Change locale at runtime?我需要类似的翻译工具&;方向目的。
通过为每个帖子定义$方向,\'ltr\'或\'rtl\'。。。使用this simple plugin ...我通过向插件添加以下操作来编辑插件。php文件:
add_action(\'wp\', function($locale){
// get post meta from database, which is generated by the plugin
global $post;
$direction = get_post_meta($post->ID, \'os_custom_box_for_rtl\', true);
// set locale language based on post meta
$locale = ($direction == \'rtl\')? \'ar\':\'en_US\'; // ...or use your own locale codes
// if not admin area, do switch! it will work for frontend only per specific page/post
is_admin() or switch_to_locale( $locale );
});
以下是@jack johansson解决方案中定时问题的修复方法:
add_action(\'wp\', function() {
if ( is_page(\'slug-here\') ) {
add_filter(\'locale\', function( $locale ) {
return \'en_US\';
});
}
});
我想在WP中翻译一个单词,但我不想替换整个翻译文件(.mo和.po),因为只有一个单词(它将被下一个WP版本覆盖,我必须经常记住)。是否可以只翻译一个单词而不覆盖其余的单词?P、 S.:我需要在/wp includes/script loader中将“no subset”翻译成“西里尔文”。php: /* translators: To add an additional Open Sans character subset specific to your language,&#x