1

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!!!!

1
  • copied this snippet and tried to adapt it to my scenario...
    – Abi
    Jun 4, 2022 at 14:56

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.