Title: WP_REST_Meta_Fields::prepare_value_for_response
Published: December 6, 2016
Last modified: May 20, 2026

---

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

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#wp--skip-link--target)

Prepares a meta value for a response.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#description)󠁿

This is required because some native types cannot be stored correctly in the database,
such as booleans. We need to cast back to the relevant type before passing back 
to JSON.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#parameters)󠁿

 `$value`mixedrequired

Meta value to prepare.

`$request`[WP_REST_Request](https://developer.wordpress.org/reference/classes/wp_rest_request/)
required

Current request object.

`$args`arrayrequired

Options for the field.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#return)󠁿

 mixed Prepared value.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#source)󠁿

    ```php
    protected function prepare_value_for_response( $value, $request, $args ) {
    	if ( ! empty( $args['prepare_callback'] ) ) {
    		$value = call_user_func( $args['prepare_callback'], $value, $request, $args );
    	}

    	return $value;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php#L125)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php#L125-L131)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#related)󠁿

| Used by | Description | 
| [WP_REST_Meta_Fields::get_value()](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/get_value/)`wp-includes/rest-api/fields/class-wp-rest-meta-fields.php` |

Retrieves the meta field value.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/prepare_value_for_response/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.7.0](https://developer.wordpress.org/reference/since/4.7.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_rest_meta_fields%2Fprepare_value_for_response%2F)
before being able to contribute a note or feedback.