上载文件时,我正在尝试获取所有音频元数据。
这一切都发生在一个插件中,我目前使用add_attachment
触发自定义函数的操作:
// link
add_action( \'add_attachment\', \'add_metadata\' );
// Definition
public function get_metadata( $post_ID ) {
$post = get_post( $post_ID );
var_dump( $post );
var_dump( wp_get_attachment_metadata( $post_ID ) );
}
The
$post
包含大量信息,
object(WP_Post)#375 (24) { ... }
, 但是
wp_get_attachment_metadata( $post_ID )
是
""
.
我怀疑在上传时并没有生成所有元数据,但我仍然能够在内部获取它们The Loop
在具有以下代码的自定义页面上:
while ( have_posts() ) : the_post();
$args = array(
\'post_type\' => \'attachment\',
\'numberposts\' => -1,
\'post_status\' => null,
\'post_parent\' => $post->ID,
);
$attachments = get_posts( $args );
if ( $attachments ) {
foreach ( $attachments as $post ) {
$attachment_metadatas = wp_get_attachment_metadata( $post->ID );
echo \'<pre>\' . var_export( $attachment_metadatas, true ) . \'</pre>\';
}
}
endwhile;
你知道我可以尝试什么吗?
最合适的回答,由SO网友:Scriptonomy 整理而成
使用筛选器获取数据:
add_filter(\'wp_update_attachment_metadata\', \'grab_meta_data\');
function grab_meta_data($data, $post_id) {
// inspect $data here
return $data;
}