【发布时间】:2018-06-06 10:27:13
【问题描述】:
我有一个包含 2 种语言的 WP 主页,并使用 Polylang 插件来做到这一点;到目前为止一切顺利。
现在我安装了一个美国主题,它只提供美国日期格式的博客文章(如“2017 年 9 月 28 日”)。不幸的是,Polylang 只能正确翻译月份名称,但不会更改日期格式。
主题的博客php文件使用:
get_the_time('d F, Y')
如果我手动将该格式更改为本地日期格式,它也会将其应用于英文版本,这当然没有意义。 相反,我想挂接到 functions.php 文件并让 Polylang 通常根据页面的语言更改日期格式。
我发现这个适用于 WPML(另一个 WP 多语言插件)的 sn-p 应该可以解决问题:
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
有人知道怎么做吗?
【问题讨论】:
标签: php wordpress datetime polylang