J'essaie de lire les champs personnalisés définis par l'utilisateur lors de la publication d'un nouveau message:
function doSomething($post) {
$meta = get_post_meta($post->ID);
error_log("post meta: ".print_r($meta, true));
}
add_action("new_to_publish", "doSomething", 999);
add_action("draft_to_publish", "doSomething", 999);
add_action("pending_to_publish", "doSomething", 999);
Les champs personnalisés sont là pour draft_to_publish mais pas pour new_to_publish.
Si j'utilise save_post, il semble fonctionner à chaque fois, mais je n'ai besoin de l'exécuter que lorsque l'état est défini pour la première publication ...
C'est parce que les champs n'étaient pas encore définis. Remarque: le processus/demande "Enregistrement automatique" ne les enregistre pas non plus.
Utilisez les valeurs de $_POST
à la place pour votre action "new_to_publish"
.