详解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 相关文章推荐
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
ucenter通信原理分析
Jan 09 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
php pdo连接数据库操作示例
Nov 18 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 PHP
php操作redis命令及代码实例大全
Nov 19 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 命名空间实例说明
2011/01/27 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
js实现右键菜单功能
2016/11/28 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
JS库之Highlight.js的用法详解
2017/09/13 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
Python logging模块handlers用法详解
2020/08/14 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
肯尼迪就职演说稿
2013/12/31 职场文书
求职自荐信怎么写
2014/03/06 职场文书
2014年党务公开方案
2014/05/08 职场文书
家长给老师的感谢信
2015/01/20 职场文书
薪资证明范本
2015/06/19 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
Python办公自动化PPT批量转换操作
2021/09/15 Python
使用Redis做预定库存缓存功能
2022/04/02 Redis
vue组件vue-esign实现电子签名
2022/04/21 Vue.js