0
0
Wordpressframework~20 mins

Custom endpoint registration in Wordpress - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
WordPress REST API Endpoint Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What is the output of this WordPress REST API endpoint registration?
Consider the following code that registers a custom REST API endpoint in WordPress. What will be the JSON response when a GET request is made to /wp-json/custom/v1/message?
Wordpress
<?php
add_action('rest_api_init', function () {
  register_rest_route('custom/v1', '/message', [
    'methods' => 'GET',
    'callback' => function () {
      return ['greeting' => 'Hello, world!'];
    },
  ]);
});
A{"message":"Hello, world!"}
B{"greeting":"Hello, world!"}
C404 Not Found error
D500 Internal Server Error
Attempts:
2 left
💡 Hint
Look at the callback return value and the route path.
📝 Syntax
intermediate
2:00remaining
Which option correctly registers a POST method for a custom REST API endpoint?
You want to register a REST API endpoint in WordPress that accepts POST requests at /wp-json/custom/v1/data. Which code snippet correctly registers this endpoint?
Aregister_rest_route('custom/v1', '/data', ['methods' => 'post', 'callback' => 'handle_post']);
Bregister_rest_route('custom/v1', '/data', ['method' => 'POST', 'callback' => 'handle_post']);
Cregister_rest_route('custom/v1', '/data', ['methods' => ['GET', 'POST'], 'callback' => 'handle_post']);
Dregister_rest_route('custom/v1', '/data', ['methods' => 'POST', 'callback' => 'handle_post']);
Attempts:
2 left
💡 Hint
Check the key name and case sensitivity for HTTP methods.
🔧 Debug
advanced
2:00remaining
Why does this custom endpoint return a 404 error?
This code registers a custom REST API endpoint, but when accessing /wp-json/custom/v1/info, it returns a 404 error. What is the cause?
Wordpress
<?php
add_action('rest_api_init', function () {
  register_rest_route('custom/v1', 'info', [
    'methods' => 'GET',
    'callback' => function () {
      return ['info' => 'Details here'];
    },
  ]);
});
AThe route path is missing a leading slash; it should be '/info'.
BThe callback function must be named, anonymous functions are not allowed.
CThe 'methods' key should be 'method' (singular).
DThe 'rest_api_init' hook is incorrect; it should be 'init'.
Attempts:
2 left
💡 Hint
Check the route path format in register_rest_route.
state_output
advanced
2:00remaining
What is the output of this endpoint with permission callback?
Given this code, what will be the HTTP status code when an unauthenticated user requests /wp-json/custom/v1/secret?
Wordpress
<?php
add_action('rest_api_init', function () {
  register_rest_route('custom/v1', '/secret', [
    'methods' => 'GET',
    'callback' => function () {
      return ['secret' => '42'];
    },
    'permission_callback' => function () {
      return is_user_logged_in();
    },
  ]);
});
A200 OK with JSON {"secret":"42"}
B404 Not Found error
C403 Forbidden error
D401 Unauthorized error
Attempts:
2 left
💡 Hint
Consider what happens when permission_callback returns false.
🧠 Conceptual
expert
3:00remaining
Which statement about custom REST API endpoint registration in WordPress is TRUE?
Select the one correct statement about registering custom REST API endpoints in WordPress.
AThe 'rest_api_init' action must be used to register endpoints, and the route path must start with a slash.
BEndpoints can be registered anytime during the page load, even before 'init' hook.
CThe 'callback' function must always return a WP_Error object for successful responses.
DPermission callbacks are optional but if omitted, the endpoint is always accessible.
Attempts:
2 left
💡 Hint
Think about when and how endpoints are registered and route path format.