详解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 进程锁定问题分析研究
Nov 24 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
php获取系统变量方法小结
May 29 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
PHP保留两位小数的几种方法
Jul 24 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
定义select的边框颜色
2008/04/28 Javascript
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
Python 正则表达式操作指南
2009/05/04 Python
优化Python代码使其加快作用域内的查找
2015/03/30 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
Django工程的分层结构详解
2019/07/18 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
python numpy数组复制使用实例解析
2020/01/10 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
Python持续监听文件变化代码实例
2020/07/22 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
家长会邀请书
2014/01/25 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
财务部会计岗位职责
2015/02/03 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript