Tribe__Events__Aggregator__Records::query( array $args = array() )
Returns a WP_Query object built using some default arguments for records.
Contents
Parameters
- $args
-
(array) (Optional) An array of arguments to override the default ones.
Default value: array()
Return
(WP_Query) The built WP_Query object; since it's built with arguments the query will run, actually hitting the database, before returning.
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 );
}