扩展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

雁过留声,人过留名

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

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>