Je souhaite ajouter une méta-valeur à mon message, qui sera basée sur une autre méta-valeur, avant la publication du message. C'est ce que j'ai essayé
add_action('save_post_my_custom_post', 'add_custom_field_automatically' );
function add_custom_field_automatically($post_ID) {
$new_meta_value = get_post_meta($post_ID,'_my_meta_key',TRUE).'to ' .' something new';
add_post_meta($post_ID, '_my_new_meta_key', $new_meta_value, true);
}
Mais ça ne marche pas. Le crochet a tiré correctement, il n'enregistre que "quelque chose de nouveau", mais je m'attends à ce que la valeur soit "ma méta valeur à quelque chose de nouveau"
La solution utilise added_post_meta
et updated_post_meta
hook.
Voici le code de travail.
add_action( 'added_post_meta', 'add_custom_field_automatically', 10, 4 );
add_action( 'updated_post_meta', 'add_custom_field_automatically', 10, 4 );
function add_custom_field_automatically( $meta_id, $post_id, $meta_key, $meta_value )
{
if ( '_my_meta_key' == $meta_key ) {
add_post_meta($post_id, '_my_new_meta_key', $meta_value.'to something new', true);
}
}