WP_Comment_Query::__construct() WordPress Method

The WP_Comment_Query::__construct() method allows you to queries for comments. It takes in a number of parameters that can be used to customize the query.

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

Constructor.


Description

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


Top ↑

Parameters

$query

(string|array)(Optional)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.
  • 'ID'
    (int) Currently unused.
  • '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) Currently unused.
  • '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 value: ''


    Top ↑

    Source

    File: wp-includes/class-wp-comment-query.php

    	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 );
    		}
    	}
    


    Top ↑

    Changelog

    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.

    The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.