如何在Wordpress中正确生成和更新元数据图像信息

时间:2013-05-31 04:44:03

标签: wordpress metadata attachment exif

我正在使用插件从我在wordpress网站上使用表单上传的图像中提取EXIF图像数据。截至目前,它正确上传并将图像插入媒体库,但我不认为它生成任何元数据信息并更新它。我知道这是因为它曾经使用我正在使用的另一种方法,但在我升级了一些插件后,它都停止了工作,我似乎无法解决它...下面有什么错误可能不允许元数据信息从上传的图像生成?我在附件页面上收到此错误:

注意:未定义的变量:第25行的/mnt/soco-app/forms/wp-content/themes/twentytwelve/image.php中的元数据

//Add uploaded image to media library
add_action("gform_after_submission", "post_submission", 10, 2);

function post_submission($entry) {

    if($_FILES['input_5']) {/**TURN WP_DEBUG OFF WHEN FIXED**/

        $filename = $entry[5];
        $wp_filetype = wp_check_filetype(basename($filename), null );
        $wp_upload_dir = wp_upload_dir();
        $attachment = array(
            'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ), 
            'post_mime_type' => $wp_filetype['type'],
            'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
            'post_content' => '',
            'post_status' => 'inherit'
        );

        $parent_post_id = 9; //ID of Parent Page

        $attach_id = wp_insert_attachment( $attachment, $filename, $parent_post_id );

        require_once(ABSPATH . 'wp-admin/includes/image.php');

        $attach_data = wp_generate_attachment_metadata( $attach_id, $filename   );

        //require_once(ABSPATH . 'wp-includes/post.php');
        //update_post_meta( $parent_post_id, '_wp_attachment_metadata', $attach_data );
        wp_update_attachment_metadata( $attach_id,  $attach_data );
    } 
}

1 个答案:

答案 0 :(得分:0)

使用wp_generate_attachment_metadata函数。

此功能为图像附件生成元数据。它还会根据Settings_Media_Screen上定义的尺寸创建图像附件的缩略图和其他中间尺寸。

http://codex.wordpress.org/Function_Reference/wp_generate_attachment_metadata