wp_update_attachment_metadata()
Обновляет метаданные вложения (медиафайла).
Для каждого медиафайла записываются метаданные. Расположены они в таблице wp_postmeta
под ключем _wp_attachment_metadata
в виде сериализованного массива.
Обновляемые данные - это массив данных о файле. Если вам нужно обновить какой-то конкретный элемент массива, то сначала получите имеющиеся данные с помощью wp_get_attachment_metadata(), измените полученный массив и сохраните данные.
Работает на основе: update_post_meta(), delete_post_meta()
Хуки из функции
Возвращает
int|false
. Логический. true если данные были обновлены или false.
Использование
wp_update_attachment_metadata( $post_id, $data );
- $post_id(число) (обязательный)
- ID медиафайла (вложения), метаданные которого нужно обновить.
- $data(массив) (обязательный)
- Данные, которые будут записаны взамен имеющихся.
Примеры
#1 Обновим подпись картинки
Давайте добавим свои данные к картинке с ID 656. Для этого сначала получим метаданные, изменим их (добавим свои данные) и сохраним:
$attach_id = 656; // получаем данные $data = wp_get_attachment_metadata( $attach_id ); // устанавливаем подпись $data['image_meta']['my_data'] = 'Эта строка данных, которая мне будет нужна'; // обновляем данные if( wp_update_attachment_metadata( $attach_id, $data ) ) echo "Обновлено"; else echo "Не обновлено";
Здесь при получении данных $data был равен:
Array ( [width] => 356 [height] => 299 [file] => 2011/05/dinamic-archives.png [sizes] => Array ( [thumbnail] => Array ( [file] => dinamic-archives-80x80.png [width] => 80 [height] => 80 [mime-type] => image/png ) [medium] => Array ( [file] => dinamic-archives-120x100.png [width] => 120 [height] => 100 [mime-type] => image/png ) ) [image_meta] => Array ( [aperture] => 0 [credit] => [camera] => [caption] => [created_timestamp] => 0 [copyright] => [focal_length] => 0 [iso] => 0 [shutter_speed] => 0 [title] => ) )
Список изменений
С версии 2.1.0 | Введена. |