WP_Comment_Query::__construct( string|array $query =  )

In this article

Constructor.

Description

Sets up the comment query, based on the query vars passed.

Parameters

$querystring|arrayoptional
Array or query string of comment query parameters.
  • author_email string
    Comment author email address.
  • author_url string
    Comment author URL.
  • author__in int[]
    Array of author IDs to include comments for.
  • author__not_in int[]
    Array of author IDs to exclude comments for.
  • comment__in int[]
    Array of comment IDs to include.
  • comment__not_in int[]
    Array of comment IDs to exclude.
  • count bool
    Whether to return a comment count (true) or array of comment objects (false). Default false.
  • date_query array
    Date query clauses to limit comments by. See WP_Date_Query.
    Default null.
  • fields string
    Comment fields to return. Accepts 'ids' for comment IDs only or empty for all fields.
  • include_unapproved array
    Array of IDs or email addresses of users whose unapproved comments will be returned by the query regardless of $status.
  • karma int
    Karma score to retrieve matching comments for.
  • meta_key string|string[]
    Meta key or keys to filter by.
  • meta_value string|string[]
    Meta value or values to filter by.
  • meta_compare string
    MySQL operator used for comparing the meta value.
    See WP_Meta_Query::__construct() for accepted values and default value.
  • meta_compare_key string
    MySQL operator used for comparing the meta key.
    See WP_Meta_Query::__construct() for accepted values and default value.
  • meta_type string
    MySQL data type that the meta_value column will be CAST to for comparisons.
    See WP_Meta_Query::__construct() for accepted values and default value.
  • meta_type_key string
    MySQL data type that the meta_key column will be CAST to for comparisons.
    See WP_Meta_Query::__construct() for accepted values and default value.
  • meta_query array
    An associative array of WP_Meta_Query arguments.
    See WP_Meta_Query::__construct() for accepted values.
  • number int
    Maximum number of comments to retrieve.
    Default empty (no limit).
  • paged int
    When used with $number, defines the page of results to return.
    When used with $offset, $offset takes precedence. Default 1.
  • offset int
    Number of comments to offset the query. Used to build LIMIT clause. Default 0.
  • no_found_rows bool
    Whether to disable the SQL_CALC_FOUND_ROWS query.
    Default: true.
  • orderby string|array
    Comment status or array of statuses. To use 'meta_value' or 'meta_value_num', $meta_key must also be defined.
    To sort by a specific $meta_query clause, use that clause’s array key. Accepts:
    • 'comment_agent'
    • 'comment_approved'
    • 'comment_author'
    • 'comment_author_email'
    • 'comment_author_IP'
    • 'comment_author_url'
    • 'comment_content'
    • 'comment_date'
    • 'comment_date_gmt'
    • 'comment_ID'
    • 'comment_karma'
    • 'comment_parent'
    • 'comment_post_ID'
    • 'comment_type'
    • 'user_id'
    • 'comment__in'
    • 'meta_value'
    • 'meta_value_num'
    • The value of $meta_key
    • The array keys of $meta_query
    • false, an empty array, or 'none' to disable ORDER BY clause.
    Default: 'comment_date_gmt'.
  • order string
    How to order retrieved comments. Accepts 'ASC', 'DESC'.
    Default: 'DESC'.
  • parent int
    Parent ID of comment to retrieve children of.
  • parent__in int[]
    Array of parent IDs of comments to retrieve children for.
  • parent__not_in int[]
    Array of parent IDs of comments *not* to retrieve children for.
  • post_author__in int[]
    Array of author IDs to retrieve comments for.
  • post_author__not_in int[]
    Array of author IDs *not* to retrieve comments for.
  • post_id int
    Limit results to those affiliated with a given post ID.
    Default 0.
  • post__in int[]
    Array of post IDs to include affiliated comments for.
  • post__not_in int[]
    Array of post IDs to exclude affiliated comments for.
  • post_author int
    Post author ID to limit results by.
  • post_status string|string[]
    Post status or array of post statuses to retrieve affiliated comments for. Pass 'any' to match any value.
  • post_type string|string[]
    Post type or array of post types to retrieve affiliated comments for. Pass 'any' to match any value.
  • post_name string
    Post name to retrieve affiliated comments for.
  • post_parent int
    Post parent ID to retrieve affiliated comments for.
  • search string
    Search term(s) to retrieve matching comments for.
  • status string|array
    Comment statuses to limit results by. Accepts an array or space/comma-separated list of 'hold' (comment_status=0), 'approve' (comment_status=1), 'all', or a custom comment status. Default 'all'.
  • type string|string[]
    Include comments of a given type, or array of types.
    Accepts 'comment', 'pings' (includes 'pingback' and 'trackback'), or any custom type string.
  • type__in string[]
    Include comments from a given array of comment types.
  • type__not_in string[]
    Exclude comments from a given array of comment types.
  • user_id int
    Include comments for a specific user ID.
  • hierarchical bool|string
    Whether to include comment descendants in the results.
    • 'threaded' returns a tree, with each comment’s children stored in a children property on the WP_Comment object.
    • 'flat' returns a flat array of found comments plus their children.
    • Boolean false leaves out descendants.
    The parameter is ignored (forced to false) when $fields is 'ids' or 'counts'. Accepts 'threaded', 'flat', or false. Default: false.
  • cache_domain string
    Unique cache key to be produced when this query is stored in an object cache. Default is 'core'.
  • update_comment_meta_cache bool
    Whether to prime the metadata cache for found comments.
    Default true.
  • update_comment_post_cache bool
    Whether to prime the cache for comment posts.
    Default false.

Default:''

Source

public function __construct( $query = '' ) {
	$this->query_var_defaults = 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',
		'paged'                     => 1,
		'parent'                    => '',
		'parent__in'                => '',
		'parent__not_in'            => '',
		'post_author__in'           => '',
		'post_author__not_in'       => '',
		'post_ID'                   => '',
		'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, // See WP_Date_Query.
		'hierarchical'              => false,
		'cache_domain'              => 'core',
		'update_comment_meta_cache' => true,
		'update_comment_post_cache' => false,
	);

	if ( ! empty( $query ) ) {
		$this->query( $query );
	}
}

Changelog

VersionDescription
5.3.0Introduced the $meta_type_key argument.
5.1.0Introduced the $meta_compare_key argument.
4.9.0Introduced the $paged argument.
4.6.0Introduced the $cache_domain argument.
4.5.0Introduced the $author_url argument.
4.4.0Order by comment__in was added. $update_comment_meta_cache, $no_found_rows, $hierarchical, and $update_comment_post_cache were added.
4.2.0Introduced.
Show 2 moreShow less

User Contributed Notes

You must log in before being able to contribute a note or feedback.