萨龙网络
登录
首页-WordPress文章-WordPress-正文

WordPress 自定义的评论查询类 WP_Comment_Query 参考文档和使用实例

萨龙龙萨龙龙
WordPress
7年前
0
0
1.66W
WordPress 获取评论所有主题都是使用wp_list_comments()函数,获取每篇文章的评论是相当的方便实用,唯一的不足是不能通过自定义值来获取评论,不过我们可以通过评论查询类WP_Comment_Query()来单独获取有自定义值的评论。 WP_Comment_Query()的用法:
wp_list_comments( array( 'callback' => 'salong_comment','type'=>'comment' ) );
其中salong_comment为评论的模版函数,自己可以写个。 本文最重要的还是介绍wp_list_comments()函数的使用与实例。

一、描述

WP_Comment_Query是一个类,定义在 wp-includes/class-wp-comment-query.php 文件中,允许查询WordPress数据库表“wp_comments”和“wp_commentmeta”,这个类是在WordPress3.1版本中引入的。

二、使用

$args = array(
   // args here
);

// The Query
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );

// Comment Loop
if ( $comments ) {
	foreach ( $comments as $comment ) {
		echo $comment->comment_content;
	}
} else {
	echo 'No comments found.';
}

三、默认参数

$args = array(
    'author_email'              => '',    
    'author_url'                => '',
    'author__in'                => '',
    'author__not_in'            => '',
    'include_unapproved'        => '',
    'fields'                    => '',
    'ID'                        => '',
    'comment__in'               => '',
    'comment__not_in'           => '',
    'karma'                     => '',
    'number'                    => '',
    'offset'                    => '',
    'no_found_rows'             => true,
    'orderby'                   => '',
    'order'                     => 'DESC',
    'parent'                    => '',
    'parent__in'                => '',
    'parent__not_in'            => '',
    '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'                    => '',
    'hierarchical'              => false,
    'count'                     => false,
    'cache_domain'              => 'core',
    'meta_key'                  => '',
    'meta_value'                => '',
    'meta_query'                => '',
    'date_query'                => null, // See WP_Date_Query
    'update_comment_meta_cache' => true,
    'update_comment_post_cache' => false,
);

四、参数说明

1、属性 $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 '*' – 所有评论字段 默认: * 2、自定义字段参数 显示包含某个自定义字段的评论 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'。 3、获取特色评论
$comment_query = new WP_Comment_Query( array( 'meta_key' => 'featured', 'meta_value' => '1' ) );
4、多个元数据查询处理方法
$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

六、实例

获取当前文章下被点赞的评论,并按点赞数量反向排序
$args = array(
    'post_id'         => $post->ID,
    'meta_query'      => array(
        array(
            //获取有 like 自定义值的且值不为0的评论
            'key'     => 'like',
            'value'   => '0',
            'compare' => '!='
        )
    ),
    // 按钮自定义值排序
    'orderby'         => 'meta_value_num',
);
$comments_query  = new WP_Comment_Query;
$popularcomments = $comments_query->query( $args );
foreach ( $popularcomments as $comment ) {
    echo $comment->comment_content;
}
标签:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wp-comment-query.html
萨龙龙

萨龙龙

侠客
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1342.21M456.66W3.85W
分享:
让 WordPress 菜单图像描述支持 HTML 标签
让 WordPress 菜单图像描述支持 HTML 标签上一篇
更新至 WordPress5.0版本后古腾堡(Gutenberg)编辑器发布与更新失败的解决方法(只对萨龙网络主题测试)下一篇
更新至 WordPress5.0版本后古腾堡(Gutenberg)编辑器发布与更新失败的解决方法(只对萨龙网络主题测试)
相关文章
总数:107

AMH面板安装配置redis加速WordPress站点

Redis是一个开源、支持网络、基于内存的key-value存储系统,类似memcached,性能极高,支持超过100K+每秒的读写频率,一些…
萨龙龙萨龙龙
WordPress, 软件系统
9年前
0
0
2.57W
0

WooCommerce 商城首页排除指定分类

WooCommerce是WordPress中最强大的商城插件,没有之一。在Slearn主题的开发过程中,需要将课程和商城结合,课程使用…
萨龙龙萨龙龙
WooCommerce
6年前
0
0
1.03W
0

翻译WordPress强大实用的Redux框架选项

强大、实用的Redux框架我们已经在WordPress强大的开源后台框架ReduxFramework介绍与使用一文中介绍了,今天我们介绍下如何…
萨龙龙萨龙龙
WordPress, 软件系统
9年前
0
0
1.35W
0

WordPress 主题获得评论深度的2种方法

一、通过使用全局变量获取评论深度 我相信您应该知道wp_list_comments()函数,它可以将评论打印在网站页面上。 为什么这个功…
萨龙龙萨龙龙
WordPress
4年前
0
0
2.23W
0

WordPress主题使用jQuery插件Isotope添加作品集筛选功能

上一篇文章我们介绍了Isotope,功能强大,效果出众的jQuery插件,但是文章中的代码并不能使用在项目中,所以今天通过Wordpress主题…
萨龙龙萨龙龙
jQuery插件, WordPress
10年前
0
0
1.86W
0

WordPress获取不同用户、类型文章和自定义字段下的文章数量

萨龙网络开发的MNews主题中,集成了个人中心功能,需要获取文章、视频、下载、专题和商城的文章数量,这个是比较简单,使用wp_count_p…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.03W
0

WordPress循环中判断为每篇文章设计不同的样式

新闻视频类Yewan主题的首页文章布局是不规则,文章的布局多样化,这是如何实现的?其实是很简单的,我们在循环中进行判断,每一篇文章都可以输出不同…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.20W
0

让SI CAPTCHA Anti-Spam插件支持WooCommerce注册表单验证码

萨龙网络使用的主题Purity最新版本弃用了Buddypress社区插件,这样注册表单只能使用WooCommerce商城自带的,验证码还是使用S…
萨龙龙萨龙龙
WooCommerce, WordPress
9年前
0
0
1.60W
0

Woocommerce+Buddypress+Bbpress商城社区论坛头像本地化

萨龙网络Purity主题是集成了Woocommerce+Buddypress+Bbpress商城社区论坛,因为www.gravatar.com头…
萨龙龙萨龙龙
Bbpress, Buddypress, WooCommerce, WordPress
10年前
0
0
1.80W
0

移除 WooCommerce 商城插件中我的帐户相关页面

WooCommerce插件默认为我的帐户页面提供了:仪表盘、订单、下载、地址、帐户详情几个页面,以及一个退出登录的按钮,如果出售的是实物或者没…
萨龙龙萨龙龙
WooCommerce
7年前
0
0
1.44W
0

WordPress获取当前分类的顶级分类ID

在开发吃货主题Chihuo时,要对产品和文章进行筛选,在一级分类下显示所有一级分类和当前一级分类下的所有二级分类,在二级分类下,显示所有一级分类…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.78W
0

WordPress添加 span 标签到分类目录和文章归档文章数量上

WordPress默认提供了分类目录,文章归档等小工具,在前台开发中,由于分类目录和文章归档显示的文章数量没有添加标签,导致写样式比较麻烦,如…
萨龙龙萨龙龙
WordPress
5年前
0
0
1.39W
0
评论表单游客 您好,欢迎参与讨论。
请输入昵称
请输入邮箱
请输入网址
0 / 0
评论列表
总数:0
萨龙网络
没有相关内容