Добрый день!
При импорте записей WP появилась проблема с созданием миниатюр для фотографий.
Я использую в цикле функцию wp_generate_attachment_metadata, но на каком-то моменте скрипт прерывается(успевает создать миниатюры для нескольких десятков фоток), ошибок никаких не возвращает. Проверил память - с ней тоже все нормально, и timout'ы выставлены.
Который день бьюсь, не пойму в чем проблема.
foreach ($value['fotos'] as $i => $val) {
$img = str_replace('//', 'http://', $val['max']);
$img_name = $img_folder.basename($img);
$img_title = basename($img);
$attach_id = $id.'10'.$i;
if (!file_exists($img_name)) {
downloadFile($img, $img_name);
}
$filetype = wp_check_filetype(basename($img_name), null);
$post_img = array(
'import_id' => $attach_id,
'post_author' => 1,
'post_parent' => $id,
'guid' => $wp_upload_dir['baseurl'].'/property_images/'.$id.'/'.basename($img_name),
'post_name' => mb_strtolower($img_title),
'post_title' => $img_title,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => $filetype['type']
);
if ($wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $attach_id))) {
unset($post_img['import_id']);
$post_img['ID'] = $attach_id;
wp_update_post($post_img);
} else {
wp_insert_post($post_img);
}
if ( !is_wp_error($attach_id) ) {
wp_update_attachment_metadata($attach_id, wp_generate_attachment_metadata($attach_id, $img_name));
}
if ($i == 0) {
update_metadata('post', $id, '_thumbnail_id', $attach_id);
}
update_metadata('post', $attach_id, '_wp_attached_file', $img_name);
}
UPD - добавил код
Сборка персонального компьютера от Artline: умный выбор для современных пользователей