投稿が保存されたとき(カスタム投稿タイプ)にメタデータの更新値を取得しようとしていますが、save_postフックで更新されたデータを取得しようとすると、代わりに以前のデータが取得されます。優先順位の高い別の機能を試してみましたが、そのようにしても運が悪くなりません(下記)。
投稿を保存した直後に更新されたメタ値を取得する方法
コード:
add_action('save_post_space', 'tps_save_space_slots', 20, 3);
function tps_save_space_slots($post_id, $post, $updated) {
//Don't fire on auto-drafts
if (isset($post->post_status) && 'auto-draft' == $post->post_status) {
return;
}
//The new slots being saved
$allSlots = tps_generate_space_slots($post_id);
//Update the meta
$updateSlots = update_post_meta($post_id, 'allSlots', $allSlots);
}
add_action( 'save_post_space', 'tps_initiate_resend', 30, 3 );
function tps_initiate_resend($post_id, $post, $updated) {
tps_resend_code_after_change($post_id);//<----this sends the new meta value in an email, but it's the OLD value
}
明らかに、投稿を保存した直後にメタ値を取得するには、直接$ _REQUEST ['my_meta_value']を取得するか、データベースをすぐに更新する必要がある場合は、update_post_meta()を使用する必要があります。 save_postアクション.