web-dev-qa-db-fra.com

Utilisation de get_post_meta avec new_to_publish

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 ...

6
Andreyu

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".

3
kaiser