Bird
Raised Fist0
Wordpressframework~5 mins

Request and response handling in Wordpress - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of request handling in WordPress?
Request handling in WordPress processes user inputs like URLs or form data to determine what content or action to deliver back as a response.
Click to reveal answer
beginner
Which WordPress function is commonly used to get query variables from the URL?
The get_query_var() function retrieves specific query variables from the URL to help decide what content to show.
Click to reveal answer
beginner
How does WordPress send a response back to the browser?
WordPress builds the page content using templates and then sends HTML as the response for the browser to display.
Click to reveal answer
intermediate
What role does the wp_redirect() function play in response handling?
wp_redirect() sends a header to the browser telling it to go to a different URL, effectively redirecting the user.
Click to reveal answer
intermediate
Why is it important to call exit; after wp_redirect()?
Calling exit; stops PHP from running more code after the redirect, ensuring the redirect happens immediately and cleanly.
Click to reveal answer
Which WordPress function retrieves a query variable from the URL?
Athe_content()
Bwp_redirect()
Cadd_action()
Dget_query_var()
What does wp_redirect() do in WordPress?
ASends a redirect header to the browser
BRetrieves post content
CAdds a new menu item
DHandles form submissions
After calling wp_redirect(), what should you do next?
ACall get_query_var()
BCall exit; to stop further code execution
CLoad the template file
DNothing, just continue
How does WordPress decide what content to show for a request?
ABy reading query variables and loading templates
BBy sending a redirect header
CBy running JavaScript on the client
DBy calling wp_redirect()
Which of these is NOT part of WordPress request handling?
AProcessing URL parameters
BBuilding HTML response
CCompiling Java bytecode
DSending redirect headers
Explain how WordPress handles a user request from URL to response.
Think about how WordPress reads the URL and decides what page to show.
You got /4 concepts.
    Describe the purpose and correct usage of wp_redirect() in WordPress response handling.
    Consider what happens when you want to send a user to a different page.
    You got /4 concepts.

      Practice

      (1/5)
      1. In WordPress, which superglobal variable is commonly used to access data sent via an HTTP POST request?
      easy
      A. $_REQUEST
      B. $_POST
      C. $_GET
      D. $GLOBALS

      Solution

      1. Step 1: Understand HTTP POST data handling

        Data sent by users through a POST request is stored in the $_POST superglobal in PHP.
      2. Step 2: Differentiate from other superglobals

        $_GET holds URL query parameters, $_REQUEST combines GET, POST, and COOKIE but is less specific, and $GLOBALS holds all global variables.
      3. Final Answer:

        $_POST -> Option B
      4. Quick Check:

        POST data = $_POST [OK]
      Hint: POST data is always in $_POST superglobal [OK]
      Common Mistakes:
      • Confusing $_GET with $_POST
      • Using $_REQUEST without knowing its mixed content
      • Assuming $GLOBALS holds request data
      2. Which of the following is the correct way to send a JSON response in a WordPress REST API callback function?
      easy
      A. wp_send_json($data);
      B. header('Content-Type: text/plain'); echo $data;
      C. echo json_encode($data);
      D. return new WP_REST_Response($data, 200);

      Solution

      1. Step 1: Understand WordPress REST API callback requirements

        REST API callbacks should return a WP_REST_Response, array, or WP_Error. The framework handles headers, JSON encoding, and status.
      2. Step 2: Compare other options

        wp_send_json($data); sends JSON and exits with wp_die(), suitable for AJAX but bypasses REST processing/filters. echo json_encode($data); outputs JSON without headers or exit. header('Content-Type: text/plain'); echo $data; wrong type.
      3. Final Answer:

        return new WP_REST_Response($data, 200); -> Option D
      4. Quick Check:

        Return WP_REST_Response [OK]
      Hint: Return WP_REST_Response for REST API JSON response [OK]
      Common Mistakes:
      • Using wp_send_json() (intended for AJAX handlers)
      • Using echo without proper headers and exit
      • Sending wrong content type header
      3. Consider this WordPress REST API callback function:
      function get_custom_data(\WP_REST_Request $request) {
        $param = $request->get_param('id');
        if ($param === '42') {
          return ['message' => 'Found'];
        }
        return new WP_Error('not_found', 'ID not found', ['status' => 404]);
      }
      What will be the HTTP status code if the request URL includes ?id=42?
      medium
      A. 200
      B. 404
      C. 500
      D. 302

      Solution

      1. Step 1: Analyze the parameter check

        The function checks if id equals '42'. If yes, it returns an array with message 'Found'.
      2. Step 2: Understand default REST API response codes

        Returning an array results in a 200 OK status. Returning WP_Error sets the error status (404 here).
      3. Final Answer:

        200 -> Option A
      4. Quick Check:

        Valid data returns 200 OK [OK]
      Hint: Array return = 200 OK; WP_Error return = error code [OK]
      Common Mistakes:
      • Assuming WP_Error always returns 200
      • Confusing string '42' with integer 42
      • Ignoring default REST API status codes
      4. You wrote this WordPress REST API endpoint callback:
      function my_callback(\WP_REST_Request $request) {
        $data = $request->get_param('data');
        wp_send_json_success($data);
        echo 'Done';
      }
      What is the problem with this code?
      medium
      A. The echo statement after wp_send_json_success() will never run
      B. wp_send_json_success() does not send JSON
      C. get_param() cannot retrieve 'data' parameter
      D. Missing return statement causes error

      Solution

      1. Step 1: Understand wp_send_json_success behavior

        This function sends JSON response and calls exit(), stopping further code execution.
      2. Step 2: Analyze code after wp_send_json_success

        The echo 'Done'; line is unreachable because the script exits before it.
      3. Final Answer:

        The echo statement after wp_send_json_success() will never run -> Option A
      4. Quick Check:

        wp_send_json_success() exits script [OK]
      Hint: Code after wp_send_json_success() is unreachable [OK]
      Common Mistakes:
      • Expecting code after wp_send_json_success() to run
      • Confusing get_param() usage
      • Thinking wp_send_json_success() returns data instead of exiting
      5. You want to create a WordPress REST API endpoint that accepts a POST request with a JSON body containing a 'name' field. Which sequence correctly handles the request and sends a JSON response with a greeting message?
      hard
      A. Use $request->get_body_params()['name'] to get 'name', then return ['greeting' => 'Hello ' . $name].
      B. Use $_POST['name'] directly, then echo JSON encoded greeting and exit.
      C. Use $request->get_json_params()['name'] to get 'name', then return new WP_REST_Response(['greeting' => 'Hello ' . $name], 200).
      D. Use file_get_contents('php://input') to read JSON body, then use wp_send_json() to send response.

      Solution

      1. Step 1: Retrieve JSON body parameters properly

        In WordPress REST API, $request->get_json_params() safely parses JSON body data.
      2. Step 2: Return a proper REST response object

        Returning WP_REST_Response with data and status code is the recommended way to send structured responses.
      3. Step 3: Evaluate other options

        A uses get_body_params() which checks form data ($_POST), empty for JSON body POSTs. C uses $_POST['name'] directly, same issue. D manually reads input bypassing framework helpers and uses wp_send_json() which exits.
      4. Final Answer:

        Use $request->get_json_params()['name'] and return WP_REST_Response -> Option C
      5. Quick Check:

        Use get_json_params() + WP_REST_Response for JSON POST [OK]
      Hint: Use get_json_params() for JSON body in REST API [OK]
      Common Mistakes:
      • Using $_POST or get_body_params for JSON body data
      • Not decoding JSON body properly
      • Returning raw arrays instead of WP_REST_Response
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard