wppaste
WordPress

apply_filters( 'rest_pre_get_setting', mixed $result, string $name, array $args )

Since
4.7.0
Filters the value of a setting recognized by the REST API.

Description

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.

Compatibility

WordPress
since 4.7.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Parameters

$resultmixed
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.
$namestring
Setting name (as shown in REST API responses).
$argsarray
Arguments passed to register_setting() for this setting.

Where this hook fires · 1

  • wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php:98WP_REST_Settings_Controller::get_item()

Source code

			 * @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'] );			}

Changelog

Introduced in 4.7.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.8.8 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.