WP_REST_Meta_Fields::prepare_value( mixed $value, WP_REST_Request $request, array $args ): mixed

Prepares a meta value for output.

Description

Default preparation for meta fields. Override by passing the prepare_callback in your show_in_rest options.

Parameters

$valuemixedrequired
Meta value from the database.
$requestWP_REST_Requestrequired
Request object.
$argsarrayrequired
REST-specific options for the meta key.

Return

mixed Value prepared for output. If a non-JsonSerializable object, null.

Source

public static function prepare_value( $value, $request, $args ) {
	if ( $args['single'] ) {
		$schema = $args['schema'];
	} else {
		$schema = $args['schema']['items'];
	}

	if ( '' === $value && in_array( $schema['type'], array( 'boolean', 'integer', 'number' ), true ) ) {
		$value = static::get_empty_value_for_type( $schema['type'] );
	}

	if ( is_wp_error( rest_validate_value_from_schema( $value, $schema ) ) ) {
		return null;
	}

	return rest_sanitize_value_from_schema( $value, $schema );
}

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.