Title: filter_default_metadata
Published: August 11, 2020
Last modified: August 20, 2026

---

# filter_default_metadata( mixed $value, int $object_id, string $meta_key, bool $single, string $meta_type ): mixed

## In this article

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

Filters into default_{$object_type}_metadata and adds in default value.

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

 `$value`mixedrequired

Current value passed to filter.

`$object_id`intrequired

ID of the object metadata is for.

`$meta_key`stringrequired

Metadata key.

`$single`boolrequired

If true, return only the first value of the specified `$meta_key`.
 This parameter
has no effect if `$meta_key` is not specified.

`$meta_type`stringrequired

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

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

 mixed An array of default values if `$single` is false.
 The default value of the
meta field if `$single` is true.

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

    ```php
    function filter_default_metadata( $value, $object_id, $meta_key, $single, $meta_type ) {
    	global $wp_meta_keys;

    	if ( wp_installing() ) {
    		return $value;
    	}

    	if ( ! is_array( $wp_meta_keys ) || ! isset( $wp_meta_keys[ $meta_type ] ) ) {
    		return $value;
    	}

    	$defaults = array();
    	foreach ( $wp_meta_keys[ $meta_type ] as $sub_type => $meta_data ) {
    		foreach ( $meta_data as $_meta_key => $args ) {
    			if ( $_meta_key === $meta_key && array_key_exists( 'default', $args ) ) {
    				$defaults[ $sub_type ] = $args;
    			}
    		}
    	}

    	if ( ! $defaults ) {
    		return $value;
    	}

    	// If this meta type does not have subtypes, then the default is keyed as an empty string.
    	if ( isset( $defaults[''] ) ) {
    		$metadata = $defaults[''];
    	} else {
    		$sub_type = get_object_subtype( $meta_type, $object_id );
    		if ( ! isset( $defaults[ $sub_type ] ) ) {
    			return $value;
    		}
    		$metadata = $defaults[ $sub_type ];
    	}

    	if ( $single ) {
    		$value = $metadata['default'];
    	} else {
    		$value = array( $metadata['default'] );
    	}

    	return $value;
    }
    ```

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

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

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

Returns the object subtype for a given object ID of a specific type.

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

Checks or sets whether WordPress is in “installation” mode.

  |

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

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

## User Contributed Notes

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