# Функция GET_METADATA() в WordPress 2.9.0
Функция **get_metadata()** позволяет получать метаданные для указанных объектов в WordPress. Метаданные — это данные, которые описывают другой набор данных. Например, это информация о постах, пользователях или комментариях.
## Как работает get_metadata()
Если указанное метаполе существует, функция возвращает одно значение, если параметр $single равен true, и массив значений, если $single равен false. Если же метаполе не существует, то в зависимости от настроек будет возвращено либо пустая строка (если $single — true), либо пустой массив (если $single — false).
### Возврат значений
Функция возвращает следующие значения:
- **Массив** значений, если $single равен false.
- **Значение** метаполя, если $single равен true.
- **False** в случае недопустимого идентификатора объекта $object_id (например, нечисловое значение, ноль или отрицательное число), или если не указан тип метаданных $meta_type.
- **Пустой массив** — если передан действительный, но несуществующий объект ID и $single равен false.
- **Пустая строка** — если передан действительный, но несуществующий объект ID и $single равен true.
## Синтаксис функции
Вот общий вид вызова функции:
```php
get_metadata( $meta_type, $object_id, $meta_key, $single );
- $meta_type (строка) (обязательный) — тип метаданных: 'post', 'comment', 'term', 'user' и т. д.
- $object_id (int) (обязательный) — ID объекта, для которого нужны метаданные.
- $meta_key (строка) — ключ метаданных. Если не указан, будут получены все метаданные указа��ного объекта.
- По умолчанию: пустая строка.
- $single (true|false) — если
true, вернётся только первое значение для указанного$meta_key. Этот параметр не влияет, если$meta_keyне указан.- По умолчанию:
false.
- По умолчанию:
Примеры использования
Пример 1: Получение метаданных поста
Мы можем использовать функцию, чтобы получить метаданные поста, пользователя и комментариев. Ниже приведены примеры кода:
// Получить пользовательское поле поста с ID 17
$post_meta = get_metadata( 'post', 17, 'robots', true );
// Получить ник пользователя с ID 14
$user_meta = get_metadata( 'user', 14, 'nickname', true );
// Получить все метаданные комментария с ID 115 как массив
$comment_meta = get_metadata( 'comment', 115 );
Пример 2: Получение всех метаданных поста
Если мы не укажем параметр meta_key, функция вернёт массив всех метаполей поста:
$metas = get_metadata( 'post', 115 );
// $metas будет выглядеть примерно так:
array (
'_pingme' => array (
0 => '1',
),
'_encloseme' => array (
0 => '1',
),
'custom key 1' => array (
0 => 'custom value 1',
1 => 'custom value 2',
),
'custom key 2' => array (
0 => 'custom value 3',
),
);
Примечания
- Для дополнительной информации можно обратиться к другим функциям, связанным с метаданными, таким как
get_metadata_raw()иget_metadata_default().
Сводка изменений
Функция была введена в версии 2.9.0.
Код функции get_metadata
Вот код самой функции, который вы можете найти в файле wp-includes/meta.php:
function get_metadata( $meta_type, $object_id, $meta_key = '', $single = false ) {
$value = get_metadata_raw( $meta_type, $object_id, $meta_key, $single );
if ( ! is_null( $value ) ) {
return $value;
}
return get_metadata_default( $meta_type, $object_id, $meta_key, $single );
}
Связанные функции
Некоторые функции, которые могут быть полезны для работы с метаданными:
add_comment_meta()add_metadata()add_post_meta()add_term_meta()add_user_meta()delete_comment_meta()get_comment_meta()get_post_meta()get_user_meta()
Эти функции помогают добавлять, получать и удалять метаданные для различных объектов в WordPress.
Теперь вы знаете, как использовать функцию get_metadata() для работы с метаданными в WordPress. Удачи в разработке вашего сайта!