Я хочу создать несколько изображений при передаче URL-адреса изображения через остальные API.
и сериализовать '_ wp_attachment_metadata' данные в postmeta таблице, подобной этой a:5:{s:5:"width";i:1920;s:6:"height";i:1200;s:4:"file";s:29:"2018/05/Haute-Panoramic-1.jpg";s:5:"sizes";a:8:{s:9:"thumbnail";a:4:{s:4:"file";s:29:"Haute-Panoramic-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:29:"Haute-Panoramic-1-300x188.jpg";s:5:"width";i:300;s:6:"height";i:188;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:29:"Haute-Panoramic-1-768x480.jpg";s:5:"width";i:768;s:6:"height";i:480;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:30:"Haute-Panoramic-1-1024x640.jpg";s:5:"width";i:1024;s:6:"height";i:640;s:9:"mime-type";s:10:"image/jpeg";}s:6:"slider";a:4:{s:4:"file";s:30:"Haute-Panoramic-1-1440x550.jpg";s:5:"width";i:1440;s:6:"height";i:550;s:9:"mime-type";s:10:"image/jpeg";}s:25:"real_estate_lite_property";a:4:{s:4:"file";s:29:"Haute-Panoramic-1-400x300.jpg";s:5:"width";i:400;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:32:"real_estate_lite_property_slider";a:4:{s:4:"file";s:29:"Haute-Panoramic-1-800x600.jpg";s:5:"width";i:800;s:6:"height";i:600;s:9:"mime-type";s:10:"image/jpeg";}s:27:"real_estate_lite_page_thumb";a:4:{s:4:"file";s:29:"Haute-Panoramic-1-400x220.jpg";s:5:"width";i:400;s:6:"height";i:220;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}
Вот мой код: -
$fetured_array=["https://media.architecturaldigest.com/photos/585811cfdcb583e908275f46/4:3/w_384/buildings-with-trees-001.jpg","https://media.architecturaldigest.com/photos/585811cfdcb583e908275f46/4:3/w_384/buildings-with-trees-001.jpg"]
$count_img=0;
foreach($feature_img as $url)
{
//$url = $feature_img;
$path = parse_url($url, PHP_URL_PATH);
$filename = mt_rand().basename($path);
$uploaddir = wp_upload_dir();
$uploadfile = $uploaddir['path'] . '/' . $filename;
$contents= file_get_contents($url);
$savefile = fopen($uploadfile, 'w');
chmod($uploadfile, 0777);
fwrite($savefile, $contents);
fclose($savefile);
$wp_filetype = wp_check_filetype(basename($filename), null );
$attachment = array(
'ID'=>$page_id,
'post_mime_type' => $wp_filetype['type'],
'post_title' => $filename,
'post_content' => '',
'post_status' => 'inherit',
'post_parent'=>$new_post_id,
);
$attach_id = wp_insert_attachment( $attachment, $uploadfile );
if($count_img==0){
if ($attach_id) {
set_post_thumbnail( $new_post_id, $attach_id );
}
}
$newwidth = '250';
foreach ($attachment as $attached) {
$id = $attach_id;
$metadata = wp_get_attachment_metadata($id);
$metadata['width'] = $newwidth;
wp_update_attachment_metadata($id,$metadata);
}
array_push($fetured_array,$attach_id);
$count_img++;
}
$format_fetured_img=implode('|',$fetured_array);
update_post_meta($new_post_id, 'real_estate_property_images', $format_fetured_img);
В настоящее время работает, но загружает только изображения в загрузки / 2018/5.
папка с оригинальным размером изображения. Как я могу загрузить изображение с
динамически генерировать размер, как при загрузке изображения в медиатеку
WordPress Admin
Пожалуйста, помогите мне найти решение для вышеуказанного.
Заранее спасибо