функция
since 5.5.0
filter_default_metadata()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
filter_default_metadata( mixed $value, int $object_id, string $meta_key, bool $single, string $meta_type ): mixed
Описание
Подключается к фильтру default_{$object_type}_metadata и добавляет значение по умолчанию.
Параметры
$value
mixed
обязательный
Текущее значение, переданное в фильтр.
$object_id
int
обязательный
ID объекта, к которому относятся метаданные.
$meta_key
string
обязательный
Ключ метаданных.
$single
bool
обязательный
Если true, возвращается только первое значение указанного $meta_key.
Этот параметр не действует, если $meta_key не указан.
$meta_type
string
обязательный
Тип объекта, к которому относятся метаданные. Принимает 'blog', 'post', 'comment', 'term', 'user' или любой другой тип объекта со связанной таблицей метаданных.
Возвращаемое значение
mixed
$single $single
Исходный код
wp-includes/meta.php:1584
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;
}
История изменений
| Версия | Описание |
|---|---|
| 5.5.0 | Introduced. |

