扩展4: 修改 DataTables 默认字符串

作为这一系列 WP-Table Reloaded 扩展中第一个较为复杂的,本文将介绍如何修改 DataTables JavaScript 库在表格中的输出字符串形式。包括 “Search:”(搜索), “Showing i to j of n entries”(显示n个条目中的第i到j条) 等。注意,不是讲汉化,因为汉化已经在插件的本地化时完成了,但是这些操作跟汉化差不多。

要使用 WP-Table Reloaded 扩展,您应该先阅读扩展页面,了解相关方法和说明,并按照相关要求进行操作。您还能从该页面找到实现其它功能的扩展的链接。

有些人希望将默认的 “Search:” (搜索)替换为 “Filter:”(筛选), “Live Search:”(即时搜索),或者其它类似的文本(字符串)。

这些字符串都存储在一个服务器文件中,该文件同时作为语言本地化的文件,比如英语,或者其它语言,都存储在相应的(不同的)文件中,只有需要的那一个文件会被加载(显示在用户端,这取决于WordPress服务器的语言(本地化)设置)。这些文件存放在 WP-Table Reloaded 插件文件夹里“languages” 文件夹下的“datatables”子文件夹中。

所以,改变字符串就像对它进行重新翻译一样:在上面提到的文件夹里找到对应于你的语言设置的文件,将它复制到你的主题文件夹(或者服务器上的任何其它公共文件夹)里。这么做可以保证在您更新了插件版本之后您所做的更改不会被删除。如果你直接在上面提到的文件里进行修改,在进行插件更新时您将会失去这些更改。

该文件看起来像下面这样(以英语语言对应的文件为例):

{
	"sProcessing":   "Processing...",
	"sLengthMenu":   "Show _MENU_ entries",
	"sZeroRecords":  "No matching records found",
	"sInfo":         "Showing _START_ to _END_ of _TOTAL_ entries",
	"sInfoEmpty":    "Showing 0 to 0 of 0 entries",
	"sInfoFiltered": "(filtered from _MAX_ total entries)",
	"sInfoPostFix":  "",
	"sSearch":       "Search:",
	"sUrl":          "",
	"oPaginate": {
		"sFirst":    "First",
		"sPrevious": "Previous",
		"sNext":     "Next",
		"sLast":     "Last"
	}
}

您可以更改冒号(:)右边的任何字符串。请注意不要将引号删掉了!并且,在您修改后的字符串内部不能出现引号!!!两边有下划线(_)的单词是数字或者输入区域的占位符号,它们是由 DataTables script 自动添加的。您不能对这些单词(包括两边的下划线)做任何更改(不过您可以改变它们(任一个由前后2个下划线包围的整体)在您的字符串中的位置)。

下面是一个包含了修改后字符串的例子:

{
	"sProcessing":   "Please wait...",
	"sLengthMenu":   "Show _MENU_ rows",
	"sZeroRecords":  "No matching rows found in the table",
	"sInfo":         "Showing _START_ to _END_ of _TOTAL_ rows",
	"sInfoEmpty":    "Showing 0 to 0 of 0 rows",
	"sInfoFiltered": "(found from _MAX_ total entries)",
	"sInfoPostFix":  "",
	"sSearch":       "Live Filter:",
	"sUrl":          "",
	"oPaginate": {
		"sFirst":    "First",
		"sPrevious": "Previous",
		"sNext":     "Next",
		"sLast":     "Last"
	}
}

修改后,请再次确认您将该文件存放在了主题文件夹里。最好使用一个比较容易识别的文件名,例如“datatables.txt”,本文将使用该文件名为例说明。

存放好这个文件后,你就能给出它的链接地址,如 http://www.example.com/wp-content/your-theme/datatables.txt。(需要根据您站点的实际情况修改,在下一步中我们将用到这个地址。)

创建了包含修改后的字符串的这个文件之后,我们还得告诉 WP-Table Reloaded 插件(例如 DataTables 库),让它使用这个文件来获取字符串:

/**
 * 将用于DataTables的字符串文件修改为另一个文件(例如,包含了修改字符串的文件)
 * Changes the file used for the DataTables strings to a different file (i.e. with changed strings)
 * @author Tobias Baethge
 * @see http://tobias.baethge.com/2010/02/extension-4-changing-datatables-strings/
 */
function wp_table_reloaded_change_datatables_language_file_url( $language_file_url ) {
    return 'http://www.example.com/wp-content/your-theme/datatables.txt'; // change this to the corresponding URL on your server
}
add_filter( 'wp_table_reloaded_url_datatables_language_file', 'wp_table_reloaded_change_datatables_language_file_url' );

将上述代码中函数里的链接地址修改为您自己的文件地址, DataTables 库就会从这个文件中读取字符串了。

只需要将这段代码复制到 “wp-table-reloaded-extensions.php”文件里,该文件可以根据扩展页面的使用说明来创建,在插件头声明之后而在PHP结束符号 ?>之前。如果你还没有激活这个新插件“WP- Table Reloaded Extensions”,激活即可。

使用中如果有什么问题,请详细阅读相关文档,或者到讨论区相应板块寻求解答。©

本文发表于水景一页。永久链接:<https://cnzhx.net/blog/extension-4-changing-datatables-strings/>。转载请保留此信息及相应链接。

2 条关于 “扩展4: 修改 DataTables 默认字符串” 的评论

  1. 我建了一个datatables的交流群 有兴趣的可以加入一起探讨 群号为20779435

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)