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

---

# WP_REST_Meta_Fields::delete_meta_value( int $object_id, string $meta_key, string $name ): true|󠀁[WP_Error](https://developer.wordpress.org/reference/classes/wp_error/)󠁿

## In this article

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

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

Deletes a meta value for an object.

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

 `$object_id`intrequired

Object ID the field belongs to.

`$meta_key`stringrequired

Key for the field.

`$name`stringrequired

Name for the field that is exposed in the REST API.

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

 true|[WP_Error](https://developer.wordpress.org/reference/classes/wp_error/) True
if meta field is deleted, [WP_Error](https://developer.wordpress.org/reference/classes/wp_error/)
otherwise.

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

    ```php
    protected function delete_meta_value( $object_id, $meta_key, $name ) {
    	$meta_type = $this->get_meta_type();

    	if ( ! current_user_can( "delete_{$meta_type}_meta", $object_id, $meta_key ) ) {
    		return new WP_Error(
    			'rest_cannot_delete',
    			/* translators: %s: Custom field key. */
    			sprintf( __( 'Sorry, you are not allowed to edit the %s custom field.' ), $name ),
    			array(
    				'key'    => $name,
    				'status' => rest_authorization_required_code(),
    			)
    		);
    	}

    	if ( null === get_metadata_raw( $meta_type, $object_id, wp_slash( $meta_key ) ) ) {
    		return true;
    	}

    	if ( ! delete_metadata( $meta_type, $object_id, wp_slash( $meta_key ) ) ) {
    		return new WP_Error(
    			'rest_meta_database_error',
    			__( 'Could not delete meta value from database.' ),
    			array(
    				'key'    => $name,
    				'status' => WP_Http::INTERNAL_SERVER_ERROR,
    			)
    		);
    	}

    	return true;
    }
    ```

[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#L232)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php#L232-L263)

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

| Uses | Description | 
| [get_metadata_raw()](https://developer.wordpress.org/reference/functions/get_metadata_raw/)`wp-includes/meta.php` |

Retrieves raw metadata value for the specified object.

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

Retrieves the object meta type.

  | 
| [delete_metadata()](https://developer.wordpress.org/reference/functions/delete_metadata/)`wp-includes/meta.php` |

Deletes metadata for the specified object.

  | 
| [rest_authorization_required_code()](https://developer.wordpress.org/reference/functions/rest_authorization_required_code/)`wp-includes/rest-api.php` |

Returns a contextual HTTP error code for authorization failure.

  | 
| [current_user_can()](https://developer.wordpress.org/reference/functions/current_user_can/)`wp-includes/capabilities.php` |

Returns whether the current user has the specified capability.

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  | 
| [wp_slash()](https://developer.wordpress.org/reference/functions/wp_slash/)`wp-includes/formatting.php` |

Adds slashes to a string or recursively adds slashes to strings within an array.

  | 
| [WP_Error::__construct()](https://developer.wordpress.org/reference/classes/wp_error/__construct/)`wp-includes/class-wp-error.php` |

Initializes the error.

  |

[Show 5 more](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/delete_meta_value/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/delete_meta_value/?output_format=md#)

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

Updates meta values.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_rest_meta_fields/delete_meta_value/?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%2Fdelete_meta_value%2F)
before being able to contribute a note or feedback.