我正在使用下面的代码通过前端上传帖子缩略图。然而,它似乎只上传原始大小,而不是所有缩略图大小,例如“中”、“大”等。我得到_wp_attached_file
和_thumbnail_id
进入db没有问题,但没有其他大小的元数据。图像将添加到正确的上载文件夹中,但仅为原始大小,而不是其他标准大小。
提前谢谢。
$uploaddir = wp_upload_dir();
$file = $_FILES[\'featured\' ];
$uploadfile = $uploaddir[\'path\'] . \'/\' . basename( $file[\'name\'] );
move_uploaded_file( $file[\'tmp_name\'] , $uploadfile );
$filename = basename( $uploadfile );
$wp_filetype = wp_check_filetype(basename($filename), null );
$attachment = array(
\'post_mime_type\' => $wp_filetype[\'type\'],
\'post_title\' => preg_replace(\'/\\.[^.]+$/\', \'\', $filename),
\'post_content\' => \'\',
\'post_status\' => \'inherit\',
\'menu_order\' => $_i + 1000
);
$attach_id = wp_insert_attachment( $attachment, $uploadfile );
$attach_data = wp_generate_attachment_metadata( $attach_id, $file );
wp_update_attachment_metadata( $attach_id, $attach_data );
$post = array(
\'ID\' => esc_sql($current_post)
);
wp_update_post($post);
update_post_meta($current_post,\'_thumbnail_id\',$attach_id);
set_post_thumbnail( $current_post, $attach_id );
SO网友:Aishan
wp\\u generate\\u attachment\\u元数据为图像附件生成元数据。它还会根据Settings\\u Media\\u屏幕上定义的大小创建图像附件的缩略图和其他中间大小。
wp\\u generate\\u attachment\\u metadata()位于wp admin/includes/image中。php。
/*只需要图像。wp\\u generate\\u attachment\\u元数据之前的php*/
require\\u once(ABSPATH。\'wp admin/includes/image.php\');
$attach\\u data=wp\\u generate\\u attachment\\u metadata($attach\\u id,$file);
希望有帮助!