sysbirdさん
new_to_publish は、wp-includes/post.phpのwp_transition_post_status 関数内の
do_action("{$old_status}_to_{$new_status}", $post);
で実行されるアクションフックです。見ればなんとなく分かるかと思いますが、新規に作成してすぐに公開されるような状況で動作するフックです。ただし、最近のWordPressのバージョンは、新規作成で編集画面を開いた場合でもダッシュボードのクイック投稿でも、一旦 auto-draftのステータスで保存を行うことになるため、通常の状況ではあり得ないはずです。まずは、フック名の確認をする必要があります。
また、wp_transition_post_status 関数が呼ばれるタイミングは、wp_insert_post の終了直前であり、カスタムフィールドの保存は完了しています。記述コード含め、今一度確認してみてください。
jim912さん、いつもお世話になっております。
{$old_status}_to_{$new_status}について、
$new_statusがpubloshの際に、メールを送信しようとしています。
公開前にいったん保存されたことのあるような下書きから公開などですと、カスタムフィールドを取得することができます。
新規作成からすぐに公開の場合(つまりnew_to_publish)に、カスタムフィールドを取得することができないようです。カスタムフィールドが存在しない状態です。
Subscribe2というプラグインをカスタマイズしてやろうとしていますので、いったんプラグインなしでフックの動作を確認してみます。