Tribe__Events__Aggregator__Records::query( array $args = array() )

Returns a WP_Query object built using some default arguments for records.


Parameters

$args

(array) (Optional) An array of arguments to override the default ones.

Default value: array()


Top ↑

Return

(WP_Query) The built WP_Query object; since it's built with arguments the query will run, actually hitting the database, before returning.


Top ↑

Source

File: src/Tribe/Aggregator/Records.php

	public function query( $args = array() ) {
		$statuses = self::$status;
		$defaults = array(
			'post_status' => array( $statuses->success, $statuses->failed, $statuses->pending ),
			'orderby'     => 'modified',
			'order'       => 'DESC',
		);

		$args = (array) $args;

		if ( isset( $args['after'] ) ) {
			$before_timestamp = is_numeric( $args['after'] )
				? $args['after']
				: Tribe__Date_Utils::wp_strtotime( $args['after'] );
			$before_datetime  = new DateTime( "@{$before_timestamp}" );
			$this->after_time = $before_datetime->format( 'Y-m-d H:00:00' );

			add_filter( 'posts_where', array( $this, 'filter_posts_where' ) );

			tribe( 'logger' )->log_debug( "Filtering records happening after {$this->after_time}", 'EA Records' );
		}

		$args = (object) wp_parse_args( $args, $defaults );

		// Enforce the post type.
		$args->post_type = self::$post_type;

		// Run and return the query.
		return new WP_Query( $args );
	}