Title: unregister_meta_key
Published: August 16, 2016
Last modified: February 24, 2026

---

# unregister_meta_key( string $object_type, string $meta_key, string $object_subtype ): bool

## In this article

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

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

Unregisters a meta key from the list of registered keys.

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

 `$object_type`stringrequired

Type of object metadata is for. Accepts `'blog'`, `'post'`, `'comment'`, `'term'`,`'
user'`, or any other object type with an associated meta table.

`$meta_key`stringrequired

Metadata key.

`$object_subtype`stringoptional

The subtype of the object type. Default empty string.

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

 bool True if successful. False if the meta key was not registered.

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

    ```php
    function unregister_meta_key( $object_type, $meta_key, $object_subtype = '' ) {
    	global $wp_meta_keys;

    	if ( ! registered_meta_key_exists( $object_type, $meta_key, $object_subtype ) ) {
    		return false;
    	}

    	$args = $wp_meta_keys[ $object_type ][ $object_subtype ][ $meta_key ];

    	if ( isset( $args['sanitize_callback'] ) && is_callable( $args['sanitize_callback'] ) ) {
    		if ( ! empty( $object_subtype ) ) {
    			remove_filter( "sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}", $args['sanitize_callback'] );
    		} else {
    			remove_filter( "sanitize_{$object_type}_meta_{$meta_key}", $args['sanitize_callback'] );
    		}
    	}

    	if ( isset( $args['auth_callback'] ) && is_callable( $args['auth_callback'] ) ) {
    		if ( ! empty( $object_subtype ) ) {
    			remove_filter( "auth_{$object_type}_meta_{$meta_key}_for_{$object_subtype}", $args['auth_callback'] );
    		} else {
    			remove_filter( "auth_{$object_type}_meta_{$meta_key}", $args['auth_callback'] );
    		}
    	}

    	unset( $wp_meta_keys[ $object_type ][ $object_subtype ][ $meta_key ] );

    	// Do some clean up.
    	if ( empty( $wp_meta_keys[ $object_type ][ $object_subtype ] ) ) {
    		unset( $wp_meta_keys[ $object_type ][ $object_subtype ] );
    	}
    	if ( empty( $wp_meta_keys[ $object_type ] ) ) {
    		unset( $wp_meta_keys[ $object_type ] );
    	}

    	return true;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/meta.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/meta.php#L1659)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/meta.php#L1659-L1695)

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

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

Checks if a meta key is registered.

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

Removes a callback function from a filter hook.

  |

| Used by | Description | 
| [unregister_term_meta()](https://developer.wordpress.org/reference/functions/unregister_term_meta/)`wp-includes/taxonomy.php` |

Unregisters a meta key for terms.

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

Unregisters a meta key for posts.

  |

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

| Version | Description | 
| [4.9.8](https://developer.wordpress.org/reference/since/4.9.8/) | The `$object_subtype` parameter was added. | 
| [4.6.0](https://developer.wordpress.org/reference/since/4.6.0/) | Introduced. |

## User Contributed Notes

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