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


На моей странице пользовательского плагина есть положение о загрузке файлов.

На этом я сохраняю детали изображения в таблице записей как тип записи attachment и перемещаю загруженный файл вручную. Вот мой код:

$wp_upload_dir = wp_upload_dir();
$filetype = $_FILES['img_name'];
$filename = $filetype['name'];
$attachment = array(
    'guid'           => $wp_upload_dir['url'] . '/' . basename( $filename ), 
    'post_mime_type' => $filetype['type'],
    'post_title'     => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
    'post_content'   => '',
    'post_status'    => 'inherit'
);
$attach_id = wp_insert_attachment($attachment, $filename);
move_uploaded_file($_FILES['test_upload_pdf']['tmp_name'],$wp_upload_dir['path'].'/'.$_FILES['test_upload_pdf']['name']);

Есть ли какой-либо альтернативный способ для move_uploaded_file() в WordPress автоматически получить другое измерение данного изображения?

Author: Dave Romsey, 2017-06-28

1 answers

Наборы изображений разных размеров с измененным размером создаются с помощью метода wp_generate_attachment_metadata и метода wp_update_attachment_metadata.

$absFilename = $wp_upload_dir['path'].'/'.$filename;
$attach_data = wp_generate_attachment_metadata( $attach_id, $absFilename);
wp_update_attachment_metadata( $attach_id, $attach_data );

Это обновит сведения об изображении в таблице wp_postmeta.

Спасибо @Daveromsey

 1
Author: Tamilvanan, 2017-06-28 19:50:02