Хук после загрузки изображения и генерации его размеров

13 февр. 2017 г., 23:44:56
Просмотры: 14.6K
Голосов: 7

Я хочу сжимать изображения после их загрузки в медиатеку. Существует ли какой-нибудь хук, который срабатывает после загрузки изображения и генерации всех его размеров?

0
Все ответы на вопрос 2
2
17

Есть ли какой-нибудь хук, который срабатывает после загрузки изображения и генерации его размеров?

wp_handle_upload срабатывает после загрузки изображения. Однако, как выяснилось из последующего вопроса, на этом этапе размеры изображения ещё не сгенерированы.

add_filter( 'wp_handle_upload', 'wpse_256351_upload', 10, 2 );
function wpse_256351_upload( $upload, $context ) {
  //* Делаем что-то интересное
  return $upload;
}

Дополнение:

Изменение размеров изображений происходит на строке 135 файла image.php. В этом методе нет хуков для изменения размеров изображений.

В конце функции wp_generate_attachment_metadata() срабатывает хук wp_generate_attachment_metadata. Это происходит уже после генерации размеров изображения.

wp_read_image_metadata - ещё один вариант. Этот хук срабатывает перед wp_generate_attachment_metadata, но уже после генерации размеров изображения.

14 февр. 2017 г. 00:07:00
Комментарии

Хм, размеры изображений уже сгенерированы в этот момент?

user1049961 user1049961
14 февр. 2017 г. 00:10:20

@user1049961 Ты прав. Размеры изображений не будут сгенерированы при срабатывании wp_handle_upload. Не уверен, о чем я думал. Я обновил свой ответ.

Nathan Johnson Nathan Johnson
14 февр. 2017 г. 01:09:34
0

Используйте фильтр wp_generate_attachment_metadata для этого, он срабатывает в функции wp_generate_attachment_metadata.

15 июн. 2018 г. 20:32:16