在前端上传图像不会生成缩略图大小

时间:2017-02-27 作者:The Sumo

我正在使用下面的代码通过前端上传帖子缩略图。然而,它似乎只上传原始大小,而不是所有缩略图大小,例如“中”、“大”等。我得到_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 );

2 个回复
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);

希望有帮助!

SO网友:The Sumo

看来唯一的办法就是media_handle_upload

相关推荐

Front-End User Profile

我有一个前端用户配置文件模板,我正在工作,一切都很好,除了上传配置文件图片。我创建了一个自定义用户字段,我正在尝试使用按钮文件类型上载图片并将URL存储在自定义字段中。看一看-https://pastebin.com/rPErwCgU我目前已经在使用此代码进行前端帖子上传,它允许多张图片。我需要找出如何为只有1张照片的用户执行此操作,并将其存储在附加到当前用户的自定义字段中--if (!empty($_FILES[\'sightMulti\'][\'tmp_name\'][0])) { $