WP_REST_Settings_Controller::get_item() – Retrieves the settings.

You appear to be a bot. Output may be restricted

Description

Retrieves the settings.

Usage

$array|WP_Error = WP_REST_Settings_Controller::get_item( $request );

Parameters

$request
( WP_REST_Request ) required – Full details about the request.

Returns

array|WP_Error Array on success, or WP_Error object on failure.

Source

File name: wordpress/wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php
Lines:

1 to 35 of 35
  public function get_item( $request ) {
    $options  = $this->WP_REST_Settings_Controller::get_registered_options();
    $response = array();

    foreach ( $options as $name => $args ) {
      
/**
 * Filters the value of a setting recognized by the REST API.
 *
 * Allow hijacking the setting value and overriding the built-in behavior by returning a
 * non-null value.  The returned value will be presented as the setting value instead.
 *
 * @since 4.7.0
 *
 * @param mixed  $result Value to use for the requested setting. Can be a scalar
 *                       matching the registered schema for the setting, or null to
 *                       follow the default get_option() behavior.
 * @param string $name   Setting name (as shown in REST API responses).
 * @param array  $args   Arguments passed to register_setting() for this setting.
 */
      $response[ $name ] = apply_filters( 'rest_pre_get_setting', null, $name, $args );

      if ( is_null( $response[ $name ] ) ) {
        // Default to a null value as "null" in the response means "not set".
        $response[ $name ] = get_option( $args['option_name'], $args['schema']['default'] );
      }

      /*
			 * Because get_option() is lossy, we have to
			 * cast values to the type they are registered with.
			 */
      $response[ $name ] = $this->WP_REST_Settings_Controller::prepare_value( $response[ $name ], $args['schema'] );
    }

    return $response;
  }
 

 View on GitHub View on Trac