让tablepress具备分页条的功能

用过wordpress的人都知道,tablepress有分页功能,但是没有分页条的功能,而且很多人可能不知道怎么自定义tablepress这个强大的插件,一般来说tablepress表格通常我们看到的是:

这样的,但是我们的目标是这样的:

然后在这个网站好的了启发,最开始不是很清楚这个是如何工作的,后面才慢慢揭开这个问题的真相,请跟着我的步伐一步一步的往下看。

首先我们先安装tablepress这个插件,我们可以在wordpress后台搜索,然后安装,步骤跟普通的插件安装没什么两样。安装完毕后,我们开始新建一个表格作为测试。

表格新建完毕后会有一个短码我这边是[table id=1 /],随着我们新建表格的增多,每个表格会有单独的一个短码,然后我们新建一个测试页面,在编辑器里面粘贴这个短码

[table id=1 /]

然后在页面的前台就看到了这个表格,这是我们看到tablepress最原始的样子,后台我们开启了所有的功能,如果数据够多,会发现有个下一页和上一页,但是是没有类似1、2、3这样的分页条。

好的,现在我们把一下的代码加入一个页面,在代码模式(html)下添加:

<html>
<head>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="//code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
<script>
$(document).ready(function() {
$('#example').dataTable( {
 "paging": true
 } );
} );
</script>
</head>
<body>
<table id="example" class="display" cellspacing="0" width="100%" data-order='[[ 1, "asc" ]]' data-page-length='15'>
 <thead>
 <tr>
 <th>Name</th>
 <th>Position</th>
 <th>Office</th>
 <th>Age</th>
 <th>Start date</th>
 <th data-class-name="priority">Salary</th>
 </tr>
 </thead>
 <tfoot>
 <tr>
 <th>Name</th>
 <th>Position</th>
 <th>Office</th>
 <th>Age</th>
 <th>Start date</th>
 <th>Salary</th>
 </tr>
 </tfoot>
 <tbody>
 <tr>
 <td>Tiger Nixon</td>
 <td>System Architect</td>
 <td>Edinburgh</td>
 <td>61</td>
 <td>2011/04/25</td>
 <td>$320,800</td>
 </tr>
 <tr>
 <td>Garrett Winters</td>
 <td>Accountant</td>
 <td>Tokyo</td>
 <td>63</td>
 <td>2011/07/25</td>
 <td>$170,750</td>
 </tr>
 <tr>
 <td>Howard Hatfield</td>
 <td>Office Manager</td>
 <td>San Francisco</td>
 <td>51</td>
 <td>2008/12/16</td>
 <td>$164,500</td>
 </tr>
 <tr>
 <td>Jonas Alexander</td>
 <td>Developer</td>
 <td>San Francisco</td>
 <td>30</td>
 <td>2010/07/14</td>
 <td>$86,500</td>
 </tr>
 <tr>
 <td>Shad Decker</td>
 <td>Regional Director</td>
 <td>Edinburgh</td>
 <td>51</td>
 <td>2008/11/13</td>
 <td>$183,000</td>
 </tr>
 <tr>
 <td>Michael Bruce</td>
 <td>Javascript Developer</td>
 <td>Singapore</td>
 <td>29</td>
 <td>2011/06/27</td>
 <td>$183,000</td>
 </tr>
 <tr>
 <td>Donna Snider</td>
 <td>Customer Support</td>
 <td>New York</td>
 <td>27</td>
 <td>2011/01/25</td>
 <td>$112,000</td>
 </tr>
 </tbody>
</table>
</body>
</html>

然后我们在tablepress里面设置每页显示2行记录,那么将会出现分页条。这里很重要的有以下几点:

第一点、调用jquery.dataTables.js这个库,这个是整个功能的核心库,由于jquery.dataTables.js是依赖jquery的,那么我们需要引入jquery在这个库的前面。

第二点、我们要添加一个自定义的javascript,代码如下:

<script>
$(document).ready(function() {
$('#example').dataTable( {
 "paging": true
 } );
} );
</script>

这里的意思是调用id,启用分页功能,example是表格的id,如果是多个表格,那么我们需要命名不同的id值,然后在脚本处进行一个初始化,但不可重复多次初始化。

当然,还有其他很多的定义方式,具体的可以参考这个页面;如果要构建一个类似的页面,我们可以参考这个网址https://www.datatables.net/manual/installation

步骤写得很清楚,前提是先安装tablepress这个插件。

第三点、引入css样式表,这个可以引入,也可以不引入,引入的话,表格会更美观,但是可能会带来css样式污染,会影响到网站本省的样式,不引入也不会影响表格的功能。

第四点、id值必须要一致,javascript里面的id要跟表格的id要对应得到。

剩下的就是如果想要表格功能更丰富,那么我们就可以在自定义的javascript代码中自己添加。

设置选项

DataTable的配置是通过将要定义的选项作为对象传递给DataTable构造函数来完成的。例如:

$('#example').DataTable( {
    paging: false
} );

这使用该paging选项禁用表的分页。

假设您要启用在表中滚动 – 您将使用以下scrollY选项:

$('#example').DataTable( {
    scrollY: 400
} );

扩展它,您可以将多个选项合并到单个对象中。在这种情况下,我们启用滚动并禁用分页:

$('#example').DataTable( {
    paging: false,
    scrollY: 400
} );

这里要提醒下,以上的这些不是分别添加,上面说了同一个id下可以添加很多选项,我的意思是如下:

$('#example').DataTable( {
    paging: false,
    scrollY: 400,
    "searching": false,
    "ordering": false,
} );

以上的意思是在id为example这个表格中,禁用分页,Y方向开启滚动长度为400的高度,禁用搜索,排序功能不开启。

传入的对象只是一个标准的Javascript对象,我们可以这样理解,当然有更多更丰富的选项设置,可以参考这个页面:https://www.datatables.net/reference/option/

好的,更多学习tablepress可以访问这个网址:https://www.datatables.net/manual/options

未经允许不得转载:哈勃私语 » 让tablepress具备分页条的功能

本文共3427个字 创建时间:2017年10月28日17:30   

分享到:更多 ()