I am having trouble on creating custom endpoints to extend my Wordpress application.
After setting up the WordPress module, I can access the json data through the link given : http://localhost/wordpress/wp-json/
I tested different endpoints inside the document with link: https://developer.wordpress.org/rest-api/reference/
And now I am trying to create my own endpoints, but after many researched I could only find something like
add_action( 'rest_api_init', 'myplugin_register_routes' );
and then
function myplugin_register_routes() {
register_rest_route( 'myplugin/v1', 'foo', array(
'methods' => WP_REST_Server::READABLE,
'callback' => 'myplugin_serve_route',
));
}
function myplugin_serve_route( WP_REST_Request $request ) {
// Do something with the $request
// Return either a WP_REST_Response or WP_Error object
return $response;
}
But indeed where should I add these things? Also, I researched a lots and see the advanced endpoint controller practice, may anyone give a hand on me? Or I need to create my own plugin?
All the code goes to theme's
functions.php
file, or a plugin. After registered a REST route, it can be accessed via this URL:To save other's like me a bit of time, this is exactly what I posted in the function.php file.
Now go to your browser and type:
This should help you start creating custom endpoints