方法说明
首先来看看可能被用到的方法. 打开文件 wp-includes/link-template.php 你会发现 WordPress 2.7 多了 4 个针对评论分页的方法:
- get_comments_pagenum_link
- $pagenum: 页码
- $max_page: 最大页数
返回链接地址. 在本次应用中不会被用到, 但大家应该知道有这个方法, 将方便你制作插件.
next_comments_link
$label: 显示的字样, 默认是 » Newer Comments. 但我一直认为这是 bug, 应该是 Newer Comments » 吧?
$max_page: 最大页数
显示跳转到下一页的链接.
previous_comments_link
$label: 显示的字样, 默认是 « Older Comments.
显示跳转到上一页的链接.
paginate_comments_links
$args: 字符串参数组
– base: 页面 URL
– format: 我也不知道是什么. 谁能告诉我?
– total: 最大页数
– current: 当前页码
– echo: 是否显示, 默认为显示. 不显示时返回字符串 HTML.
– add_fragment: hash, 默认是 #comments. 为求统一, 方便理解, 也免得修改, 建议制作主题时 评论部分用 id="comments"
显示评论分页或返回评论分页的 HTML.
实例说明
1. 上一页和下一页
这是最简单, 也是最常被提到的, 效果与文章分页没什么两样.
|
1
2
3
4
5
|
<div id="commentnavi">
<span class="floatleft"><?php previous_comments_link(__('« Older Comments')) ?></span>
<span class="floatright"><?php next_comments_link(__('Newer Comments »')) ?></span>
<div class="fixed"></div>
</div>
|
2. 导航式分页
对访客最透明, 使用起来最方便的, 效果与使用 WP-PageNavi 分页的效果相仿.
|
1
2
3
|
<div id="commentnavi">
<?php paginate_comments_links(); ?>
</div>
|
看看前面的两个例子, 好像我们要的功能都可以实现了. 但是你觉不觉得有点怪怪的? 如果后台中选择不显示评论分页, 或者评论数不够分页, 也要显示 id="commentnavi" 的外框吗? 不! 我们要改改这个程序.
可以通过调用方法 get_option('page_comments') 来获取后台的评论分页选项.
我们还可以调用方法 paginate_comments_links('echo=0') 来知道评论是否足够并需要进行分页处理.
3. 上一页和下一页 (改进)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
// 如果用户在后台选择要显示评论分页
if (get_option('page_comments')) {
// 获取评论分页的 HTML
$comment_pages = paginate_comments_links('echo=0');
// 如果评论分页的 HTML 不为空, 显示上一页和下一页的链接
if ($comment_pages) {
?>
<div id="commentnavi">
<span class="floatleft"><?php previous_comments_link(__('« Older Comments')) ?></span>
<span class="floatright"><?php next_comments_link(__('Newer Comments »')) ?></span>
<div class="fixed"></div>
</div>
<?php
}
}
?>
|
4. 导航式分页 (改进)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
// 如果用户在后台选择要显示评论分页
if (get_option('page_comments')) {
// 获取评论分页的 HTML
$comment_pages = paginate_comments_links('echo=0');
// 如果评论分页的 HTML 不为空, 显示导航式分页
if ($comment_pages) {
?>
<div id="commentnavi">
<?php echo $comment_pages; ?>
</div>
<?php
}
}
?>
|
对于最新的评论分页功能, 我有点自己的看法, 也随便说一下吧.
评论分页并不完美. 如果外面某个链接转跳到 http://www.example.com/#5630, 但是编号为 5630 的评论并不在第一页, 那么就无法定位到这条评论上面, 转跳过来的兄弟的感觉会比较不爽.
另外, WordPress 的评论分页不是 AJAX 应用 (为浏览器的兼容性考虑, 以后也不太可能是), 所以翻页会相当耗时. 所以我建议, 就算要分页, 也要将每页显示的评论数设大一点. 30? 50? 100? 因博而异.
好了, 大概你已经知道该怎么使用了? CSS 就不多说了, 各有所好嘛, 这个不好说.
相关文章
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-06-04 59
-
Linux UDP socket 设置为的非阻塞模式与阻塞模式区别
2025-05-27 61 -
2025-06-04 30
-
2025-05-29 52
-
Tomcat 8.5或Tomcat 9安装部署SSL证书教程
2025-05-25 97

