首页 > CMS > Wordpress > 正文

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

2024-09-07 00:40:20
字体:
来源:转载
供稿:网友

这篇文章主要介绍了WordPress中调用评论模板和循环输出评论的PHP函数,分别是comments_template函数与wp_list_comments函数的使用,需要的朋友可以参考下

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.

我的理解:

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

用法

  1. <?php 
  2.    wp_list_comments( $args );  
  3. ?> 

参数使用

  1. <?php $args = array
  2.   'walker'      => null, 
  3.   'max_depth'     => , 
  4.   'style'       => 'ul'
  5.   'callback'     => null, 
  6.   'end-callback'   => null, 
  7.   'type'       => 'all'
  8.   'page'       => , 
  9.   'per_page'     => , 
  10.   'avatar_size'    => 32, 
  11.   'reverse_top_level' => null, 
  12.   '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 中的评论显示演示,具体其他的参数请参照以上介绍自行演示探索。

  1. <ol class="commentlist"> 
  2. <?php 
  3.  /* Loop through and list the comments. Tell wp_list_comments() 
  4.  * to use twentyeleven_comment() to format the comments. 
  5.  * If you want to overload this in a child theme then you can 
  6.  * define twentyeleven_comment() and that will be used instead. 
  7.  * See twentyeleven_comment() in twentyeleven/functions.php for more. 
  8.  */ 
  9.  wp_list_comments( array( 'callback' => 'twentyeleven_comment' ) ); 
  10. //twentyeleven_comment 函数在主题文件 "twentyeleven/functions.php"中定义。 
  11. ?> 
  12. </ol>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表