我有一个包含 2 种语言的 WP 主页,并使用 Polylang 插件来做到这一点;到目前为止,一切都很好。
现在我安装了一个美国主题,它只提供美国日期格式的博客文章(如“2017 年 9 月 28 日”)。不幸的是,Polylang 只能正确翻译月份名称,但不会更改日期格式。
主题的博客 php 文件使用:
get_the_time('d F, Y')
如果我手动将该格式更改为本地日期格式,它也会将其应用于英文版本,这当然没有意义。相反,我想挂钩到functions.php文件并让 Polylang 通常根据页面的语言更改日期格式。
我为 WPML(另一个 WP 多语言插件)找到了这个片段,它应该可以解决问题:
add_filter( 'option_date_format', function( $format ) {
do_action( 'wpml_register_single_string', 'Date formats', 'Date format', $format );
return apply_filters( 'wpml_translate_single_string', $format, 'Date Formats', 'Date format' );
} );
add_filter( 'option_time_format', function( $format ) {
do_action( 'wpml_register_single_string', 'Date formats', 'Time format', $format );
return apply_filters( 'wpml_translate_single_string', $format, 'Date Formats', 'Time format' );
} );
不幸的是,我无法为 Polylang 做到这一点。我知道要使用的功能是:
pll_register_string( $name, $string, $group, $multiline );
请参阅:https ://polylang.pro/doc/function-reference/#pll_register_string
有人知道该怎么做吗?