上载时自动将指定值添加到附件元数据

时间:2016-09-16 作者:bbruman

我正在尝试创建一个函数,自动为附件元数据添加一个值(如果重要的话,在音频上传时)。

例如,我想添加一个值“artist”,并将其作为我自己的特定性输出(为了示例,只需简单地“test”)

我尝试了很多方法,但到目前为止,每种方法都没有奏效(并且在上传媒体时输出了一个未指明的错误)。

以下是我尝试过的几件事:

function auto_update_audio_meta($post_ID) {
add_post_meta( $post_ID, \'artist\', \'test\');
}
add_action(\'add_post_meta\', \'auto_update_audio_meta\');
我也试过update_post_metadata, 以及变化,如

function auto_update_audio_meta() {
wp_update_post_meta( $post->ID, \'artist\', \'test\');
}
add_action(\'update_post_metadata\', \'auto_update_audio_meta\', 10, 5);
我做错了什么?

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

你接近了!尝试使用这些挂钩。

// Add post meta to new audio uploads.
function auto_update_audio_meta( $post_ID ) {
  if ( wp_attachment_is( \'audio\', $post_ID ) ) {
    add_post_meta( $post_ID, \'artist\', \'test\' );
  }
}
add_action( \'add_attachment\', \'auto_update_audio_meta\' );
用于附件更新

// Update post meta to updated audio uploads.
function auto_update_audio_meta( $post_ID, $post_after, $post_before ) {
  if ( wp_attachment_is( \'audio\', $post_ID ) ) {
    update_post_meta( $post_ID, \'artist\', \'test\' );
  }
}
add_action( \'attachment_updated\', \'auto_update_audio_meta\', 10, 3 );

相关推荐

Use Post ID in functions.php

我的functions.php. 它工作得很好:当预订时,它会给我发电子邮件。易于理解的然而,我希望它能给我发送该预订的post ID,而不仅仅是“你好,世界!”消息帮助function add_to_system() { // get post meta // $email = get_post_meta(\'\',$post_id) // $post_id = get_queried_object_id(); mail(\'michael.mc