filter_default_metadata()
Filters into default_{$object_type}_metadata and adds in default value.
Хуков нет.
Возвращает
Разное
. An array of default values if $single is false. The default value of the meta field if $single is true.
Использование
filter_default_metadata( $value, $object_id, $meta_key, $single, $meta_type );
- $value(разное) (обязательный)
- Current value passed to filter.
- $object_id(int) (обязательный)
- ID of the object metadata is for.
- $meta_key(строка) (обязательный)
- Metadata key.
- $single(true|false) (обязательный)
- 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(строка) (обязательный)
- Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table.
Список изменений
С версии 5.5.0 | Введена. |
Код filter_default_metadata() filter default metadata WP 6.7.1
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; }