我创建了一个用于上传图像的前端表单,效果很好。
唯一的问题是,我需要为非图像文件生成附件元数据。现在,仅为图像文件创建元数据。
我使用以下行生成和插入元数据:
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename );
wp_update_attachment_metadata( $attachment_id, $attachment_data );
SOLVED
我核实了一下
$attachment_data
为空(非图像文件,如PDF):
if(empty($attachment_data)){
$fileMeta = array(\'file\' => $imageUrl);
add_post_meta($attachment_id, \'_wp_attachment_metadata\', $fileMeta);
}else{
wp_update_attachment_metadata( $attachment_id, $attachment_data );
}
SO网友:s_ha_dum
wp_generate_metatadata()
应为图像、视频和音频文件类型创建元数据。有和if
/elseif
有条件的in the source 这将功能限制在这三个方面。但是,最后一行是:
return apply_filters( \'wp_generate_attachment_metadata\', $metadata, $attachment_id );
所以你可以使用
wp_generate_attachment_metadata
筛选以生成所需的元数据。关于创建过滤器,这里有很多答案,更不用说
the Codex.
很难说得更多,因为您没有指定太多的内容,比如您有什么类型的“非图像”文件。