我使用插件从使用我的wordpress网站上的表单上传的图像中提取EXIF图像数据。到目前为止,它可以正确地上传并插入图像到媒体库中,但我认为它没有生成任何元数据信息并更新它。我知道这一点,因为它曾经与我使用的另一种方法一起工作,但在我升级了一些插件后,它全部停止工作,我似乎无法修复它……下面是什么问题,可能不允许从上传的图像生成元数据信息?我在附件页面上得到这个错误:
注意:未定义变量:元数据在/mnt/soco-app/forms/wp-content/themes/212/image.php的第25行
//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 );
}
}
使用wp_generate_attachment_metadata函数
此函数为图像附件生成元数据。它还根据Settings_Media_Screen上定义的大小创建图像附件的缩略图和其他中间大小。
http://codex.wordpress.org/Function_Reference/wp_generate_attachment_metadata