自由屋推书网—热门的小说推荐平台!

你的位置: 首页 > wordpress标签

wordpress评论标签wp_list_comments用法

2018-01-22 21:28:05

wp_list_comments描述

根据各种参数(包括在管理区域中设置的参数)显示帖子或页面的所有评论。

wp_list_comments用法

  1. <?php wp_list_comments($ args,$ comments); ?>

wp_list_comments默认使用

$args

(array)(optional)该函数的选项。

默认如下:

  1. <?php $ args = array
  2. 'walker'=> null,
  3. 'max_depth'=>''
  4. 'style'=>'ul',
  5. 'callback'=> null,
  6. 'end-callback'=> null,
  7. 'type'=>'all',
  8. 'reply_text'=>'reply',
  9. 'page'=>''
  10. 'per_page'=>''
  11. 'avatar_size'=> 32,
  12. 'reverse_top_level'=> null,
  13. 'reverse_children'=>''
  14. 'format'=>'html5',//或'xhtml'如果没有'HTML5'主题支持
  15. 'short_ping'=> false,// 3.6版本以后支持
  16. 'echo'=> true //布尔值,默认为true
  17. ); ?>

通过“讨论设置”管理面板可以更轻松地控制“max_depth”,“per_page”和“reverse_top_level”参数,但主题可以覆盖这些设置。

$comments

(array)(optional)通过get_comments查询获取的数组。

默认值:get_comments的默认返回值。

wp_list_comments具体参数

“walker”

(Walker object)提供一个自定义的Walker类对象,用于渲染注释。这是自定义评论HTML的主要方法。

<?PHP

wp_list_comments(array(

'walker'=> new Walker_Comment()

));

'MAX_DEPTH'

(整数)应该提取评论多深(在评论回复中)。

'样式'

(字符串)可以是'div','ol'或'ul'(默认)。请注意,任何包含标签必须明确写入。例如:

  1. <div class =“comment list”>
  2.     <?php wp_list_comments(array('style'=>'div')); ?>
  3. </ DIV>

或者

  1. <ol class =“comment list”>
  2.     <?php wp_list_comments(array('style'=>'ol')); ?>
  3. </ol>

'callback'

(callback)用于打开和显示每个注释的自定义函数的名称。使用这将使您的自定义函数被调用来显示每个评论,绕过这方面的所有内部WordPress的功能。使用自定义注释显示对HTML布局的极端更改。请注意,您的回调必须包含打开的<div>,<ol>或<ul>标记(与style参数对应),但不包含结束标记。 WordPress会自动提供结束标签,或者您可以使用结束回调来覆盖此默认值。回调与回调结束分开以便于分层评论。谨慎使用。

“end-callback”

(callback)用于关闭每个注释的自定义函数的名称。使用这个命令可以在每个注释结束时调用自定义函数,绕过基于style参数使用</ div>,</ ol>或</ li>的WordPress默认设置。用于自定义评论的结束标签。回调与回调结束分开以便于分层评论。谨慎使用。

'type'

(string)要显示的评论的类型。可以是“全部”,“评论”,“引用”,“pingback”或“ping”。 “ping”同时是“trackback”和“pingback”。

'REPLY_TEXT'

(string)在每个评论中显示的文本作为回复链接。 (这不是这个函数的参数,但它传递给get_comment_reply_link函数。)

'page'

(integer)在分页中显示的当前页面。

'per_page'

(integer)每个评论页面显示的项目数量。

'avatar_size'

(integer)头像应显示的大小(以像素为单位)。 http://gravatar.com/支持1到512之间的大小。使用0隐藏头像。

'reverse_top_level'

(boolean)将其设置为true将显示最近的评论,然后按顺序返回,将其设置为false将显示最早的评论。如果没有指定,它将使用存储在WordPress仪表板设置中的值。

'reverse_children'

(boolean)将其设置为true将显示最近的那些子级(回复级别注释),然后依次返回。

'format'

(boolean)可以设置为'html5'或'xhtml' - 默认为主题的current_theme_supports('html5')设置。

'short_ping'

(boolean)是否要使用简短的ping。

'echo'

(boolean)是否回显列表或只是返回它。

wp_list_comments例子

默认使用

输出评论的有序列表。像线程或分页被启用或禁用的东西通过设置讨论子面板进行控制。

  1. <ol class =“commentlist”>
  2. <?php wp_list_comments(); ?>
  3. </ol>

仅具有自定义注释显示的注释

仅使用自定义回调函数来控制注释的外观时显示注释(无pingbacks或trackbacks)。如果回复链接没有出现,您可能需要添加一个max_depth = X参数。

  1. <ul class =“commentlist”>
  2. <?php wp_list_comments('type = comment&callback = mytheme_comment'); ?>
  3. </ul>

您将需要在主题的functions.php文件中定义自定义回调函数。这里是一个例子:

  1. function mytheme_comment($comment$args$depth) {
  2.     if ( 'div' === $args['style'] ) {
  3.         $tag       = 'div';
  4.         $add_below = 'comment';
  5.     } else {
  6.         $tag       = 'li';
  7.         $add_below = 'div-comment';
  8.     }?>
  9.     <<?php echo $tag; comment_class( emptyempty$args['has_children'] ) ? '' : 'parent' ); ?> id="comment-<?php comment_ID() ?>"><?php
  10.     if ( 'div' != $args['style'] ) { ?>
  11.         <div id="div-comment-<?php comment_ID() ?>" class="comment-body"><?php
  12.     } ?>
  13.         <div class="comment-author vcard"><?php
  14.             if ( $args['avatar_size'] != 0 ) {
  15.                 echo get_avatar( $comment$args['avatar_size'] );
  16.             }
  17.             printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
  18.         </div><?php
  19.         if ( $comment->comment_approved == '0' ) { ?>
  20.             <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em><br/><?php
  21.         } ?>
  22.         <div class="comment-meta commentmetadata">
  23.             <a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>"><?php
  24.                 /* translators: 1: date, 2: time */
  25.                 printf(
  26.                     __('%1$s at %2$s'),
  27.                     get_comment_date(),
  28.                     get_comment_time()
  29.                 ); ?>
  30.             </a><?php
  31.             edit_comment_link( __( '(Edit)' ), '  ', '' ); ?>
  32.         </div>
  33.         <?php comment_text(); ?>
  34.         <div class="reply"><?php
  35.                 comment_reply_link(
  36.                     array_merge(
  37.                         $args,
  38.                         array(
  39.                             'add_below' => $add_below,
  40.                             'depth'     => $depth,
  41.                             'max_depth' => $args['max_depth']
  42.                         )
  43.                     )
  44.                 ); ?>
  45.         </div><?php
  46.     if ( 'div' != $args['style'] ) : ?>
  47.         </div><?php
  48.     endif;
  49. }

请注意缺少尾部</ li>。为了适应嵌套的回复,WordPress会在列出任何子元素之后添加适当的结束标签。

显示特定页面/帖子的评论

输出特定页面或帖子的有序评论列表。像线程或分页被启用或禁用的东西通过设置讨论子面板进行控制。

  1. <ol class =“commentlist”>
  2. <?php
  3. //收集特定页面/帖子的评论
  4. $ comments = get_comments(array
  5. 'post_id'=> XXX,
  6. 'status'=>'approve'//将其更改为要显示的评论类型
  7. ));
  8. //显示评论列表
  9. wp_list_comments(array
  10. 'per_page'=> 10,//允许评论分页
  11. 'reverse_top_level'=> false //在列表顶部显示最旧的评论
  12. ),$ comments);
  13. ?>
  14. </ol>

编辑推荐

热门小说