Iam using the "ACF" plugin with "ACF to REST API". I found a solution for querying a custom field over REST API.
I inserted this into my functions.php:
add_filter( 'rest_{type}_query', function( $args ) {
$args['meta_query'] = array(
array(
'key' => 'my_field',
'value' => esc_sql( $_GET['field'] ),
)
);
return $args;
} );
Url: /wp-json/wp/v2/posts?field=test The wildcard {type} can be: post | user | comment | attachment | custom post type | taxonomy
This solution is not perfect. Once this code snipped is added, the filter works but if you go to /v2/{type} <-- which usually lists all, this stops working.
Any solution for that?
esc_sql
like that,esc_sql
is only to be used in very specific circumstances, most people coding with WP will never need to use it. Otherwise is there a reason you're modifying all API queries, not just the ones that havefield
set? Why not use the existing parameters for meta queries instead of adding a new one?