I am having trouble on creating custom endpoints to extend my Wordpress application.

After setting up the WordPress module, I can access the son data through the link given :


I tested different endpoints inside the document with link:


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?


Writing a custom endpoint is not hard at all. Your code goes to your theme's functions.php file, or a plugin. After you register a REST route, you can access it via this URL:


Also I assume you are missing \ in your callback function's parameters, as it should be \WP_REST_Request $request.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.