WP_Comment_Query 是用來查詢 WordPress 評論數(shù)據(jù)的 PHP 類,源文件位于 wp-includes/comment.php 文件,我們可以使用該類查詢 WordPress 數(shù)據(jù)庫中 wp_comments 和 wp_commentmeta 數(shù)據(jù)表中的數(shù)據(jù),該類從 WordPress 3.1 開始引入,只要 WordPress 的版本號大于等于 3.1,都可以直接使用 WP Comment Query 類查詢數(shù)據(jù)。
WP Comment Query 使用簡介
$args = array(
// 類參數(shù)
);
// 新建查詢
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );
// 循環(huán)輸入評論數(shù)據(jù)
if ( $comments ) {
foreach ( $comments as $comment ) {
echo '<p>' . $comment->comment_content . '</p>';
}
} else {
echo 'No comments found.';
}
默認使用方法
$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
);
參數(shù)說明
| 參數(shù)名 | 類型 | 可選/必選 | 描述 | 默認值 |
| $status | 字符串 | 可選 | 指定返回的評論狀態(tài):hold、approve、spam、trash | None |
| $orderby | 字符串 | 可選 | 設置排序的字段 | comment_date_gmt |
| $order | 字符串 | 可選 | 排序方式:ASC(升序),DESC(降序) | DESC |
| $number | 整數(shù) | 可選 | 返回的評論數(shù)量 | unlimited(無限制) |
| $offset | 整數(shù) | 可選 | 偏移量,需與 $number 搭配使用 | 0 |
| $post_id | 整數(shù) | 可選 | 指定文章 ID,僅返回該文章的評論 | None |
| $user_id | 整數(shù) | 可選 | 指定用戶 ID,僅返回該用戶的評論 | None |
| $count | 整數(shù) | 可選 | 是否只返回評論總數(shù)(布爾邏輯) | None |
| $type__in | 數(shù)組 | 可選 | 指定要包含的評論類型 | None |
| $type__not_in | 數(shù)組 | 可選 | 指定要排除的評論類型 | None |
| $meta_key | 字符串 | 可選 | 自定義評論元數(shù)據(jù)的鍵 | None |
| $meta_value | 字符串 | 可選 | 自定義評論元數(shù)據(jù)的值 | None |
| $meta_query | 數(shù)組 | 可選 | 高級元數(shù)據(jù)查詢(WP 3.5+) | None |
| $fields | 字符串 | 可選 | 指定返回字段:ids 僅返回 ID,* 返回全部字段 | * |
自定義字段參數(shù)
顯示包含某個自定義字段的評論
- meta_key (字符串) – 自定義字段key
- meta_value ( 字符串) – 自定義字段值
- meta_query (數(shù)組) – 自定義字段參數(shù) (從 3.5 版開始可用)
- key (字符串) -自定義字段key
- value (字符|數(shù)組) – 自定義字段值 (注意: 數(shù)組支持只限在以下對比方法中使用: ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘EXISTS’ 或 ‘NOT EXISTS’)
- compare (字符) – 數(shù)據(jù)對比方法 ‘=’, ‘!=’, ‘>’, ‘>=’, ‘<‘, ‘<=’, ‘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' ) );
多個元數(shù)據(jù)查詢處理方法
$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 );
返回值
返回的數(shù)據(jù)為一個數(shù)組,包含以下索引鍵的評論字段(如果沒有評論,返回空數(shù)組):
comment_ID(整數(shù)):評論 IDcomment_post_ID(整數(shù)):評論所屬的文章/頁面 IDcomment_author(字符串):評論者的名稱comment_author_email(字符串):評論者的電子郵件地址comment_author_url(字符串):評論者提供的網(wǎng)址鏈接comment_author_IP(字符串):評論者的 IP 地址comment_date(字符串):評論本地時間,格式YYYY-MM-DD HH:MM:SScomment_date_gmt(字符串):評論的 GMT 時間,格式YYYY-MM-DD HH:MM:SScomment_content(字符串):評論的實際內容comment_karma(整數(shù)):評論評分(一般為 0,已廢棄字段)comment_approved(字符串):評論審核狀態(tài)(可為0、1或"spam")comment_agent(字符串):評論者的客戶端信息(如瀏覽器、操作系統(tǒng)等)comment_type(字符串):評論類型(例如:pingback、trackback,普通評論為空)comment_parent(字符串):父評論的 ID,頂級評論為 0user_id(整數(shù)):如果評論者是已注冊用戶,則為其用戶 ID


