WordPress分页插件WP-PageNavi和翻译插件WPML的兼容性问题

首先来介绍一下WP-PageNavi,这是一款免费的文章分页插件,它轻便小巧,大量的WordPress网站都在用它。如果你用过一款统计和显示页面访问量的插件WP-PostViews的话,你就会知道这两款插件的作者是同一个人。似乎这位作者很喜欢开发一些小巧实用的插件:
WP-PageNavi和翻译插件WPML的兼容性问题

WP-PageNavi能让你的列表页面的分页按钮变成这样:
WP-PageNavi效果
比默认主题的分页按钮强多了。

但这款插件和WPML-最强大的翻译插件,一起用的时候,WP-PageNavi自带的翻译失效了。
尽管在WPML的字段翻译列表里面可以顺利扫描到WP-PageNavi的翻译文件(比如wp-pagenavi-zh_CN.po),但在页面上显示的仍然是英文。

其实是作者的一个小疏忽,没有给自己的代码套gettext函数。只要进入插件目录,找到core.php,修改一行代码即搞定。
找到:

1
2
3
4
5
6
7
if ( !empty( $options['pages_text'] ) ) {
	$pages_text = str_replace(
		array( "%CURRENT_PAGE%", "%TOTAL_PAGES%" ),
		array( number_format_i18n( $paged ), number_format_i18n( $total_pages ) ),
	$options['pages_text'] );
	$out .= "<span class='pages'>$pages_text</span>";
}

修改里面的第五行,改成:

1
2
3
4
5
6
7
if ( !empty( $options['pages_text'] ) ) {
	$pages_text = str_replace(
		array( "%CURRENT_PAGE%", "%TOTAL_PAGES%" ),
		array( number_format_i18n( $paged ), number_format_i18n( $total_pages ) ),
	__($options['pages_text']) );	$out .= "<span class='pages'>$pages_text</span>";
}

保存上传覆盖文件,翻译就成功加载了:
WP-PageNavi翻译成功

开发插件或主题的时候,要养成一个好习惯,给文本输出都套上gettext函数,以便在不同语言环境下你的插件/主题都能显示正常的语言。

参考文章:https://wordpress.org/support/topic/wp-pagenavi-translation-problems

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/1000.html。百度不可信,搜索请谨慎。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以获取本文的最新版本。

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

发表评论

电子邮件地址不会被公开。 必填项已用*标注