get_metadata_default() WordPress Function
The get_metadata_default() function is used to get the default value for a metadata field. This function can be used to get the default value for a field when the field is not specified in the current post.
get_metadata_default( string $meta_type, int $object_id, string $meta_key, bool $single = false ) #
Retrieves default metadata value for the specified meta key and object.
Description
By default, an empty string is returned if $single is true, or an empty array if it’s false.
Parameters
- $meta_type
(string)(Required)Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table.
- $object_id
(int)(Required)ID of the object metadata is for.
- $meta_key
(string)(Required)Metadata key.
- $single
(bool)(Optional) If true, return only the first value of the specified
$meta_key. This parameter has no effect if$meta_keyis not specified.Default value: false
Return
(mixed) An array of default values if $single is false. The default value of the meta field if $single is true.
Source
File: wp-includes/meta.php
function get_metadata_default( $meta_type, $object_id, $meta_key, $single = false ) {
if ( $single ) {
$value = '';
} else {
$value = array();
}
/**
* Filters the default metadata value for a specified meta key and object.
*
* The dynamic portion of the hook name, `$meta_type`, refers to the meta object type
* (post, comment, term, user, or any other type with an associated meta table).
*
* Possible filter names include:
*
* - `default_post_metadata`
* - `default_comment_metadata`
* - `default_term_metadata`
* - `default_user_metadata`
*
* @since 5.5.0
*
* @param mixed $value The value to return, either a single metadata value or an array
* of values depending on the value of `$single`.
* @param int $object_id ID of the object metadata is for.
* @param string $meta_key Metadata key.
* @param bool $single Whether to return only the first value of the specified `$meta_key`.
* @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
* or any other object type with an associated meta table.
*/
$value = apply_filters( "default_{$meta_type}_metadata", $value, $object_id, $meta_key, $single, $meta_type );
if ( ! $single && ! wp_is_numeric_array( $value ) ) {
$value = array( $value );
}
return $value;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 5.5.0 | Introduced. |