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