WordPress 评论查询类 WP Comment Query

知更鸟 2017年3月11日15:17:25
评论
55

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

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
登录用户显示不同的 WordPress 菜单 WordPress

登录用户显示不同的 WordPress 菜单

如果让登录用户与未登录浏览者,显示不同的菜单,可以通过下面的代码实现: 登录用户显示不同的 WordPress 菜单 将下面代码添加到当前主题函数模板functions.php中: if( is_us...
WordPress esc_url() 函数用法 WordPress 开发

WordPress esc_url() 函数用法

这个WordPress函数是比较常用到的,特别是在插件或者拓展主题功能的时候。 esc_url函数主要用于 URL 过滤: 1.拒绝不是下面协议的 URL(defaulting to http, ht...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: