add this code to your functions.php and edit it to your needs
on this example
I am getting results from “post” posttype and getting results for id, title, thumbnail, content, homepage named custom field and file-upload custom field
you can remove, add or edit to your needs this fields.
// https://yourwebsite.org/wp-json/custom/v1/field add_action( 'rest_api_init', function () { register_rest_route( 'custom/v1', '/field/', array( 'methods' => 'GET', 'callback' => 'custom_query_callback' ) ); } ); function custom_query_callback( $request ) { $args = array( 'post_type' => array('post'), 'meta_query' => array( array( 'key' => 'homepage', 'value' => 'YES', 'compare' => '=', ), ), 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page' => 50, // Retrieve all matching posts ); $query = new WP_Query( $args ); $posts = array(); while ( $query->have_posts() ) { $query->the_post(); $get_file_id = get_post_meta( get_the_ID(), 'file-upload' , true ); $get_the_url = wp_get_attachment_url($get_file_id); $post = array( 'id' => get_the_ID(), 'title' => get_the_title(), 'thumbnail' => get_the_post_thumbnail_url(get_the_ID(),'full'), 'content' => get_the_content(), 'homepage' => get_post_meta( get_the_ID(), 'homepage' , true ), 'file-upload' => $get_the_url ); array_push( $posts, $post ); } return $posts; }