显示WordPress 某个文章所有评论者名称

11个月前 (10-11)

如果想显示某篇文章或当前文章所有评论者名称列表,可以参考一下本文的方法。

使用场景,比如在文章适当位置,显示当前已有:史珍香,秦寿生,焦厚根,朱逸群,夏建仁等发表了热情扬溢的评论,再加一个锚点链接,引导读者跳转到评论表单,也发个热情扬溢的评论。

将代码添加到当前主题函数模板functions.php中:

  1. function get_comment_authors_list( $id = 0, $sep = ', ' ) {  
  2.     $post_id = $id ? $id : get_the_ID();  
  3.     if ( $post_id ) {  
  4.         $comments = get_comments( array(  
  5.             'post_id' => $post_id,  
  6.             'status'  => 'approve',  
  7.             'type'    => 'comment',  
  8.         ) );  
  9.    
  10.         $names = array();  
  11.         foreach ( $comments as $comment ) {  
  12.             $name = $comment->comment_author;  
  13.             if ( $comment->user_id ) {  
  14.                 $user = get_userdata( $comment->user_id );  
  15.                 $name = $user ? $user->display_name : $name;  
  16.             }  
  17.    
  18.             $arr = explode( ' ', trim( $name ) );  
  19.             if ( ! emptyempty$arr[0] ) && ! in_array( $arr[0], $names ) ) {  
  20.                 $names[] = $arr[0];  
  21.             }  
  22.         }  
  23.         unset( $comments );  
  24.    
  25.         $sep = $sep ? $sep : ', ';  
  26.         return implode( $sep$names );  
  27.     }  
  28. }  
  29.    
  30.    
  31. add_shortcode( 'comment_authors_list', 'comment_authors_list_shortcode' );  
  32.    
  33. function comment_authors_list_shortcode( $atts = array() ) {  
  34.     $atts = shortcode_atts( array(  
  35.         'post_id'  => 0,  
  36.         'list_sep' => '',  
  37.     ), $atts );  
  38.    
  39.     return get_comment_authors_list( $atts['post_id'], $atts['list_sep'] );  
  40. }  

使用方法:

一、调用ID为:123文章的所有评论者名称

在模板中使用:

  1. <?php echo get_comment_authors_list('123'); ?>  

在文章添加短代码:

  1. [comment_authors_list post_id="123" /]  

二、调用当前文章所有评论者名称,与上面类似只是去掉其中的文章ID,适合放在文章正文模板中。

在模板中使用

  1. <?php echo get_comment_authors_list(); ?>  

在文章中添加短代码:

  1. [comment_authors_list /][comment_authors_list /]  

紧跟行业趋势,选择我们,让你的网站永不落伍!

比格主题bigetheme,是国内为数不多的WordPress网站建设开发团队,我们提供WordPress主题,WordPress企业主题,WordPress博客主题,WordPress模板,WordPress主题下载,WordPress插件下载,WordPress主题开发服务。


扫码加我微信


img
加入群聊一起交流吧