2

を使用して投稿が公開されたときにメールを送信するプラグインに取り組んでいます

 add_action('save_post','my_function');

 my_function($post_id)
 {
  //do everything here
 }

新しい投稿が公開されたとき、またはクイック編集から更新されたときはいつでも正常に動作します。

しかし、問題は、投稿が将来の公開の予定であるときに機能しないことです。このため、私はそれをグーグルで検索し、次のことを見つけました

  add_action('publish_future_post', 'my_function');

これは、上記のアクションで使用されるのと同じ関数です。

また、いくつかの結果に対して次のアクションが見つかりました。

  add_action('future_to_publish', 'my_function');

しかし、最後の2つのアクションが機能していません。つまり、メールを送信していません。

誰でもそれを理解するのを手伝ってもらえますか、

4

2 に答える 2

0

3 行目では、投稿の post_status をチェックし、明示的に公開をチェックしています。これは、(ご想像のとおり) 公開された投稿に対してのみ設定されます。投稿が後で公開されるようにスケジュールされている場合、そのステータスは将来に設定されます。あなたの例では、最初の 3 行:

function my_function($post_id) {

    $post= get_post($post_id);

    if ($post->post_type == 'post' && ($post->post_status == 'publish' || $post->post_status == 'future') ) {

それがうまくいくかどうか教えてください。

于 2013-08-14T16:47:08.063 に答える