How can I create 'future' and 'past' parameter for restAPI by filtering the CPT custom date field by greater than / less than current datetime?

add_filter( 'rest_events_query', 'filter_events_by_date_field', 999, 2 ); function filter_events_by_date_field( $args, $request ) { if ( ! isset( $request['filter_date'] ) ) { return $args; }

$filter_date = sanitize_text_field( $request['filter_date'] );
$datetime = current_time('mysql');
if( $filter_date == 'future' ) {
    $filter_date_meta_query = array(
        'key' = 'date',
        'value' = $datetime,
        'type' = 'DATETIME',
        'compare' = '='
    );
} else {
    $filter_date_meta_query = array(
        'key' = 'date',
        'value' = $datetime,
        'type' = 'DATETIME',
        'compare' = ''
    );
}


if ( isset( $args['meta_query'] ) ) {
    $args['meta_query']['relation'] = 'AND';
    $args['meta_query'][] = $filter_date_meta_query;
} else {
    $args['meta_query'] = array();
    $args['meta_query'][] = $filter_date_meta_query;
}

// $args['meta_key'] = 'date';
// $args['orderby'] = 'meta_value_num';
// $args['order'] = 'ASC';

return $args;

}

Sorry guys i have no coding experience would be great if someone can help. thanks!!!!

Topic rest-api wp-query date-time query-posts Wordpress

Category Web

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.