WP_Comment_Query 是用来查询 WordPress 评论数据的 PHP 类,源文件位于 wp-includes/comment.php 文件,我们可以使用该类查询 WordPress 数据库中 wp_comments 和 wp_commentmeta 数据表中的数据,该类从 WordPress 3.1 开始引入,只要 WordPress 的版本号大于等于 3.1,都可以直接使用 WP Comment Query 类查询数据。
WP Comment Query 使用简介
<?php $args = array( // 类参数 ); // 新建查询 $comments_query = new WP_Comment_Query; $comments = $comments_query->query( $args ); // 循环输入评论数据 if ( $comments ) { foreach ( $comments as $comment ) { echo '<p>' . $comment->comment_content . '</p>'; } } else { echo 'No comments found.'; } ?>
默认使用方法
<?php $args = array( 'author_email' => '', 'author__in' => '', 'author__not_in' => '', 'include_unapproved' => '', 'fields' => '', 'ID' => '', 'comment__in' => '', 'comment__not_in' => '', 'karma' => '', 'number' => '', 'offset' => '', 'orderby' => '', 'order' => 'DESC', 'parent' => '', 'post_author__in' => '', 'post_author__not_in' => '', 'post_id' => 0, 'post__in' => '', 'post__not_in' => '', 'post_author' => '', 'post_name' => '', 'post_parent' => '', 'post_status' => '', 'post_type' => '', 'status' => 'all', 'type' => '', 'type__in' => '', 'type__not_in' => '', 'user_id' => '', 'search' => '', 'count' => false, 'meta_key' => '', 'meta_value' => '', 'meta_query' => '', 'date_query' => null, // 查看 WP_Date_Query ); ?>
参数说明
$status
- (字符串) (可选) 值返回指定状态的评论
- 'hold' – 未通过审核的评论
- 'approve' – 已审核的评论
- 'spam' – 被标记未垃圾的评论
- 'trash' – 回收站中的评论
- 默认: None
- $orderby
- (字符串) (可选) 设置排列评论数据使用的字段
- 默认: comment_date_gmt
- $order
- (字符串) (可选) 排列 $orderby 的方法,可用值:
- 'ASC' – 升序 (从低到高)
- 'DESC' – 降序 (从高到低)
- 默认: DESC
- $number
- (整数) (可选) 返回的评论数量,留空返回所有评论。
- 默认: unlimited
- $offset
- (整数) (可选) 偏移的评论数量,必须和 $number 参数一起使用
- 默认: 0
- $post_id
- (整数) (可选) 只返回指定 ID 文章的评论。
- 默认: None
- $user_id
- (整数) (可选) 只返回指定 ID 用户的评论。
- 默认: None
- $count
- (整数) (可选) 只返回评论的总数量。
- 默认: None
- $type__in
- (数组) (可选) 允许指定评论类型
- 默认: None
- $type__not_in
- (数组) (可选) 允许指定排除的评论类型
- 默认: None
- $meta_key
- (字符串) (可选) 自定义评论元数据 key。
- 默认: None
- $meta_value
- (字符串) (可选) 自定义评论元数据值。
- 默认: None
- $meta_query
- (数组) (可选) 高级元数据查询参数 (从 3.5 版开始可用)。
- 默认: None
- $fields
- (字符串) (可选) 指定返回的字段 ( 从4.0版本开始可用 )。
- 'ids' – 评论 ID
- '*' – 所有评论字段
- 默认: *
自定义字段参数
显示包含某个自定义字段的评论
- meta_key (字符串) – 自定义字段key
- meta_value ( 字符串) – 自定义字段值
- meta_query (数组) – 自定义字段参数 (从 3.5 版开始可用)
- key (字符串) -自定义字段key
- value (字符|数组) – 自定义字段值 (注意: 数组支持只限在以下对比方法中使用: ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘EXISTS’ 或 ‘NOT EXISTS’)
- compare (字符) – 数据对比方法 ‘=’, ‘!=’, ‘>’, ‘>=’, ‘<‘, ‘<=’, ‘LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘EXISTS’, 和 ‘NOT EXISTS’。 默认为 ‘=’。
- type (字符) – 自定义字段类型,可用的值有 ‘NUMERIC’, ‘BINARY’, ‘CHAR’, ‘DATE’, ‘DATETIME’, ‘DECIMAL’, ‘SIGNED’, ‘TIME’, ‘UNSIGNED’。 默认值为 ‘CHAR’。
显示特色评论
$comment_query = new WP_Comment_Query( array( 'meta_key' => 'featured', 'meta_value' => '1' ) );
多个元数据查询处理方法
$args = array( 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'featured', 'value' => '1' ), array( 'key' => 'buried', 'value' => '1', 'type' => 'numeric', 'compare' => '!=' ) ) ); $comment_query = new WP_Comment_Query( $args );
返回值
(数组)
包含以下索引键的评论字段(如果没有评论,返回空数组):
comment_ID
(整数) 评论 ID
comment_post_ID
(整数) 评论所在的文章/页面
comment_author
(字符串) 评论者的名称
comment_author_email
(字符串) 评论者的电子邮件
comment_author_url
(字符串) 评论者的链接
comment_author_IP
(字符串) 评论者的 IP
comment_date
(字符串) 评论日期时间 (YYYY-MM-DD HH:MM:SS)
comment_date_gmt
(字符串) 评论的 GMT 日期时间 (YYYY-MM-DD HH:MM:SS)
comment_content
(字符串) 评论内容
comment_karma
(整数) 评论来源
comment_approved
(字符串) 评论审核状态 (0, 1 或 “spam”)
comment_agent
(字符串) 评论者的客户端信息 (浏览器, 操作系统,等)
comment_type
(字符串) 评论类型 (pingback|trackback), 普通评论为空
comment_parent
(字符串) 评论的父级评论 ID,顶级评论为 0
user_id
(整数) 如果评论者已注册,返回评论者的 用户ID
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!