当前位置: 首页 > 编程笔记 >

编写PHP脚本来实现WordPress中评论分页的功能

杭胜
2023-03-14
本文向大家介绍编写PHP脚本来实现WordPress中评论分页的功能,包括了编写PHP脚本来实现WordPress中评论分页的功能的使用技巧和注意事项,需要的朋友参考一下

方法说明

首先来看看可能被用到的方法. 打开文件 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. 上一页和下一页
这是最简单, 也是最常被提到的, 效果与文章分页没什么两样.

<div id="commentnavi">
 <span class="floatleft"><?php previous_comments_link(__('&laquo; Older Comments')) ?></span>
 <span class="floatright"><?php next_comments_link(__('Newer Comments &raquo;')) ?></span>
 <div class="fixed"></div>
</div>

2. 导航式分页
对访客最透明, 使用起来最方便的, 效果与使用 WP-PageNavi 分页的效果相仿.

<div id="commentnavi">
 <?php paginate_comments_links(); ?>
</div>

看看前面的两个例子, 好像我们要的功能都可以实现了. 但是你觉不觉得有点怪怪的? 如果后台中选择不显示评论分页, 或者评论数不够分页, 也要显示 id="commentnavi" 的外框吗? 不! 我们要改改这个程序.
可以通过调用方法 get_option('page_comments') 来获取后台的评论分页选项.
我们还可以调用方法 paginate_comments_links('echo=0') 来知道评论是否足够并需要进行分页处理.

3. 上一页和下一页 (改进)

<?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(__('&laquo; Older Comments')) ?></span>
 <span class="floatright"><?php next_comments_link(__('Newer Comments &raquo;')) ?></span>
 <div class="fixed"></div>
 </div>
<?php
 }
 }
?>

4. 导航式分页 (改进)

<?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 就不多说了, 各有所好嘛, 这个不好说.

 类似资料:
  • 本文向大家介绍利用AJAX实现WordPress中的文章列表及评论的分页功能,包括了利用AJAX实现WordPress中的文章列表及评论的分页功能的使用技巧和注意事项,需要的朋友参考一下 文章列表页分页 一.加载 jQuery 库 既然是 jQuery 驱动的 Ajax ,加载 jQuery 库是必须的。 二.文章列表格式 在你的文章列表页面(首页 index.php、归档 archive.php

  • 本文向大家介绍Python Django使用forms来实现评论功能,包括了Python Django使用forms来实现评论功能的使用技巧和注意事项,需要的朋友参考一下 貌似Django从版本1.6开始就放弃了对自带的comments的使用,具体原因未查,但是现在使用Django的内部的模块也可以实现评论功能,那就是借助于forms模块,下面是我的一个小例子。 环境准备  •操作系统 : win

  • 本文向大家介绍jQuery实现简单评论功能,包括了jQuery实现简单评论功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery实现简单评论功能的具体代码,供大家参考,具体内容如下 例子: 效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍修改PHP脚本使WordPress拦截垃圾评论的方法示例,包括了修改PHP脚本使WordPress拦截垃圾评论的方法示例的使用技巧和注意事项,需要的朋友参考一下 拦截英文垃圾评论 由于绝大多数的垃圾评论都是英文的,所以国内不少朋友在使用 Some Chinese Please 插件,它可以有效地拦截内容中不带有中文字的comment和trackback(pingback),不写入数据

  • 本文向大家介绍jQuery实现简单评论区功能,包括了jQuery实现简单评论区功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery实现简单评论区的具体代码,供大家参考,具体内容如下 直接看代码吧 其实这个小案例的核心呢就是jQuery动态创建,localStorage本地存储,本地数据的存入和取出,要用JSON.parse()和JSON.stringify()来进行转换,

  • 本文向大家介绍uni-app实现点赞评论功能,包括了uni-app实现点赞评论功能的使用技巧和注意事项,需要的朋友参考一下 模拟朋友圈实时点赞及评论功能 点赞思路:点击的时候,使用push(点赞)以及slice(取消赞)方法处理数组,并且调用点赞接口 评论思路:点击的时候,写多一个评论列表,当点击发送的时候commentStatus=true,且索引等于点击的索引。同时调用获取评论列表的接口 ht