web-dev-qa-db-fra.com

Add to the value specified to métadonnées from the piece jointe at the download

J'essaie de créer une fonction qui ajoute automatiquement une valeur aux métadonnées de la pièce jointe (le cas échéant, lors des téléchargements audio).

Par exemple, je veux ajouter une valeur "artiste" et la sortir comme ma propre spécificité (par exemple, simplement "test")

J'ai essayé de nombreuses choses mais chacune, jusqu'à présent, n'a pas fonctionné (et génère une erreur non spécifiée lors du téléchargement du support).

Voici quelques choses que j'ai essayées:

function auto_update_audio_meta($post_ID) {
add_post_meta( $post_ID, 'artist', 'test');
}
add_action('add_post_meta', 'auto_update_audio_meta');

J'ai également essayé de raccrocher à update_post_metadata, et des variantes telles que

function auto_update_audio_meta() {
wp_update_post_meta( $post->ID, 'artist', 'test');
}
add_action('update_post_metadata', 'auto_update_audio_meta', 10, 5);

Qu'est-ce que je fais mal?

2
bbruman

Tu es proche! Essayez plutôt d'utiliser ces crochets.

// 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' );

Pour les mises à jour des pièces jointes

// 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 );
2
cowgill