详解WordPress中调用评论模板和循环输出评论的PHP函数


Posted in PHP onJanuary 05, 2016

comments_template
comments_template 函数是一个调用评论模板的函数,使用起来很简单,与get_header()等函数一样,是一个include文件类函数,今天来讲一下他的使用。

描述
上面已经讲过了,就是调用评论模板的一个函数。

使用

<?php comments_template( $file, $separate_comments ); ?>

其中

$file 需要调用的文件名 默认值: /comments.php
$separate_comments 是否分隔不用类型的评论 布尔型 默认值: false
讲的比较笼统,更深层次请往下看

使用实例

<?php comments_template(get_post_format().'-comment.php', true ); ?>

这样,就可以根据你不同的文章类型去显示文章评论了。
用法上是不是跟get_template_part()有点类似呢?
至于$separate_comments准确的意思,我也没搞明白,不过官方默认主题一直都是true的所以我也就跟进了。之前研究过一次,貌似这里指的类型是是否回复的意思。

wp_list_comments
wp_list_comments 函数是一个循环输出当前文章或页面每个评论的函数,在 WordPress 主题中主要被用来输出每一条评论,省去我们手工便利之苦,也把 WordPress 的评论功能很好的进行了模块化。

wp_list_comments函数在主题中配合comments_template函数联合使用可以很好的将 WordPress 的评论功能独立出来,而且可以更好对评论嵌套层数、每页显示评论数量、评论样式等等等等进行控制。所以如果你想做好主题的话,那还是看一下吧。

描述
英文原文:

Displays all comments for a post or Page based on a variety of parameters including ones set in the administration area.

我的理解:
用一个整体设置的参数来显示一篇文章、页面的所有评论。

用法

<?php
   wp_list_comments( $args ); 
?>

参数使用
 

<?php $args = array(
  'walker'      => null,
  'max_depth'     => ,
  'style'       => 'ul',
  'callback'     => null,
  'end-callback'   => null,
  'type'       => 'all',
  'page'       => ,
  'per_page'     => ,
  'avatar_size'    => 32,
  'reverse_top_level' => null,
  'reverse_children' => ); ?>

$walker 自定义样式类名
$avatar_size 头像大小 Default: 32
$style 评论容器标签可以是 ‘div', ‘ol', or ‘ul',默认值是'ul',如果不是,那你需要像如下那样明确写出。

<div class="commentlist"><?php wp_list_comments(array('style' => 'div')); ?></div>

<ol class="commentlist"><?php wp_list_comments(array('style' => 'ol')); ?></ol>

$type 显示何种评论,参数可以是 ‘all'、'comment'、'trackback'、'pingback'、'pings'. ‘pings' 包括'trackback' 和 ‘pingback'.
默认值: ‘all'
$reply_text 回复按钮的文本值,这个较少用不解释 默认值: ‘Reply'
$login_text 登录按钮的文本值,这个较少用不解释 默认值: ‘Log in to Reply'
$callback 评论显示的回调函数,即显示评论主题的函数名称
$end-callback 应该是循环结束后的回调函数,本人未实测,请自行探索。
$reverse_top_level 布尔值,如果设置本参数为真,则先显示最新一条评论,后面的评论按照后台设置显示。
$reverse_children 布尔值,如果设置本参数为真,则先显示最新一条有子评论的评论,后面的评论按照后台设置显示。
实例
这里是官方默认主题 twentyeleven 中的评论显示演示,
具体其他的参数请参照以上介绍自行演示探索。

<ol class="commentlist">
<?php
 /* Loop through and list the comments. Tell wp_list_comments()
 * to use twentyeleven_comment() to format the comments.
 * If you want to overload this in a child theme then you can
 * define twentyeleven_comment() and that will be used instead.
 * See twentyeleven_comment() in twentyeleven/functions.php for more.
 */
 wp_list_comments( array( 'callback' => 'twentyeleven_comment' ) );
//twentyeleven_comment 函数在主题文件 "twentyeleven/functions.php"中定义。
?>
</ol>
PHP 相关文章推荐
十天学会php之第四天
Oct 09 PHP
FCKeditor的安装(PHP)
Jan 13 PHP
php日历[测试通过]
Mar 27 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
解析PHP高效率写法(详解原因)
Jun 20 PHP
PHP URL路由类实例
Nov 12 PHP
php保存任意网络图片到服务器的方法
Apr 14 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 #PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 #PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 #PHP
使用PHP实现微信摇一摇周边红包
Jan 04 #PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 #PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 #PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 #PHP
You might like
php 图像函数大举例(非原创)
2009/06/20 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python中的多线程实例教程
2014/08/27 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
python获取代码运行时间的实例代码
2018/06/11 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
业务员岗位职责
2013/11/16 职场文书
医院总经理岗位职责
2014/02/04 职场文书
大学自主招生推荐信
2014/05/10 职场文书
物理学专业求职信
2014/07/04 职场文书
英文升职感谢信
2015/01/23 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery