详解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脚本的10个技巧(2)
Oct 09 PHP
PHP 文件上传进度条的两种实现方法的代码
Nov 25 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
PHPThumb图片处理实例
May 03 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
Aug 07 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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
各种战术和打法的原创者
2020/03/04 星际争霸
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
javascript中的隐式调用
2018/02/10 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
django的ORM操作 增加和查询
2019/07/26 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
德国家具折扣店:POCO
2020/02/28 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
小学运动会宣传稿
2015/07/23 职场文书
社区服务活动感想
2015/08/11 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript