在文件上载时获取音频元数据

时间:2015-11-01 作者:nobe4

上载文件时,我正在尝试获取所有音频元数据。

这一切都发生在一个插件中,我目前使用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;
你知道我可以尝试什么吗?

1 个回复
最合适的回答,由SO网友:Scriptonomy 整理而成

使用筛选器获取数据:

add_filter(\'wp_update_attachment_metadata\', \'grab_meta_data\');
function grab_meta_data($data, $post_id) {
    // inspect $data here
    return $data;
}

相关推荐

Media uploads error

我对这个很陌生,昨天刚创建了我的网站。突然,我无法上传任何照片,并且显示了一个错误“上传时出错”。请稍后再试\'。我看到一个使用控制台的建议,它给出了一个错误,表示内容混合,并且我的页面是通过HTTPS加载的,但请求了一个不安全的样式表tp://fonts。googleapis。com/css?家庭=舞蹈+脚本(&P);ver=4.9.8’。此请求已被阻止;内容必须通过HTTPS提供。