// Add a custom query variable
add_filter( 'rest_query_vars', function ( $valid_vars ) {
$valid_vars[] = 'custom_after';
return $valid_vars;
} );
// Modify the query if the custom query variable is set
add_action( 'pre_get_posts', function ( $query ) {
if ( isset( $query->query_vars['custom_after'] ) ) {
$date_string = $query->query_vars['custom_after'];
$date = date( 'Y-m-d H:i:s', strtotime( $date_string ) );
$query->set( 'date_query', array(
'after' => $date,
'inclusive' => true,
) );
}
}, 10, 1 );
// Ensure our custom query variable is exposed to the API
add_filter( 'rest_post_query', function ( $args, $request ) {
if ( ! empty( $request['custom_after'] ) ) {
$args['custom_after'] = $request['custom_after'];
}
return $args;
}, 10, 2 );
wpDiscuz