WP_REST_Settings_Controller::get_item()publicWP 4.7.0

Retrieves the settings.

Метод класса: WP_REST_Settings_Controller{}

Хуки из метода

Возвращает

Массив|WP_Error. Array on success, or WP_Error object on failure.

Использование

$WP_REST_Settings_Controller = new WP_REST_Settings_Controller();
$WP_REST_Settings_Controller->get_item( $request );
$request(WP_REST_Request) (обязательный)
Full details about the request.

Список изменений

С версии 4.7.0 Введена.

Код WP_REST_Settings_Controller::get_item() WP 6.6.2

public function get_item( $request ) {
	$options  = $this->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->prepare_value( $response[ $name ], $args['schema'] );
	}

	return $response;
}