サポート » プラグイン » 公開直後にカスタムフィールドを取得したい

  • お世話になっております。

    投稿の公開直後にカスタムフィールドを取得できるアクションフックはありますでしょうか?

    やろうとしていることは、記事公開時にメール送信です。
    Subscribe2 というプラグインを使って、
    送信内容にカスタムフィールドを追加するよう修正しました。
    ですが、Subscribe2がメールを送信している new_to_publish というアクションフックでは
    まだカスタムフィールドが保存されていないのか、空白になってしまいます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    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 の終了直前であり、カスタムフィールドの保存は完了しています。記述コード含め、今一度確認してみてください。

    スレッド開始 sysbird

    (@sysbird)

    jim912さん、いつもお世話になっております。

    {$old_status}_to_{$new_status}について、
    $new_statusがpubloshの際に、メールを送信しようとしています。
    公開前にいったん保存されたことのあるような下書きから公開などですと、カスタムフィールドを取得することができます。
    新規作成からすぐに公開の場合(つまりnew_to_publish)に、カスタムフィールドを取得することができないようです。カスタムフィールドが存在しない状態です。

    Subscribe2というプラグインをカスタマイズしてやろうとしていますので、いったんプラグインなしでフックの動作を確認してみます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「公開直後にカスタムフィールドを取得したい」には新たに返信することはできません。