wpseek.com
A WordPress-centric search engine for devs and theme authors



get_metadata_default › WordPress Function

Since5.5.0
Deprecatedn/a
get_metadata_default ( $meta_type, $object_id, $meta_key, $single = false )
Parameters: (4)
  • (string) $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table.
    Required: Yes
  • (int) $object_id ID of the object metadata is for.
    Required: Yes
  • (string) $meta_key Metadata key.
    Required: Yes
  • (bool) $single Optional. If true, return only the first value of the specified `$meta_key`. This parameter has no effect if `$meta_key` is not specified. Default false.
    Required: No
    Default: false
Returns:
  • (mixed) An array of default values if `$single` is false. The default value of the meta field if `$single` is true.
Defined at:
Codex:

Retrieves default metadata value for the specified meta key and object.

By default, an empty string is returned if $single is true, or an empty array if it's false.


Source

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;
}