WP_GENERATE_ATTACHATION_METADATA返回空数组

时间:2013-03-22 作者:Aaron

        foreach ($_FILES as $key => $file) {
            $uploadedImage = wp_handle_upload($_FILES[$key], $upload_overrides);

            pre_r($uploadedImage);

            if (!isset($uploadedImage[\'error\'])) {

                $attachID = wp_insert_attachment($uploadedImage, $uploadedImage[\'file\']);

                require_once(ABSPATH . \'wp-admin/includes/image.php\');
                $attach_data = wp_generate_attachment_metadata( $attachID, $uploadedImage[\'file\'] );

                print_r($attach_data);

                wp_update_attachment_metadata( $attachID, $attach_data );

            } else {

            }
        }
我几乎可以肯定这个代码应该可以工作。我环顾四周,人们说,一旦这起作用,就添加require\\u。

上传工作正常,文件已添加到媒体库,但未生成元数据。

有什么建议吗?

1 个回复
SO网友:J.D.

我相信这里发生了以下事情:

扮演卢克pointed out, wp_insert_attachment() 获取post数据数组。传递给它的数组的格式不正确。钥匙不同。应存储哪些内容作为post_mime_type, 正在使用密钥传递type. 因此,没有为帖子保存mime类型

  • wp_generate_attachment_metadata()looking for the mime type 因此它可以基于此生成元数据。但由于mime类型没有正确保存,它只返回一个空数组$uploadedImage[\'post_mime_type\'] = $uploadedImage[\'type\'], 或者更好地使用media_handle_upload(), 它将为您处理整个媒体上传。

    基于代码的示例:

    foreach ( $_FILES as $key => $file ) {
        media_handle_upload( $key, 0, array(), $upload_overrides );
    }
    

  • 结束