コメントフックを承認しますか?


8

コメントが承認されたら、購読者にメールを送信したいと考えています。

コーデックスの2つのアクションは次のとおりです。

1。

add_action('comment_post', 'callback', $priority, $accepted_args);

引数はcomment_IDand approval status(0または1)です。

2。

add_action('edit_comment', 'callback', $priority, $accepted_args);

引数付き comment_ID

デフォルトでは、コメントは投稿時に承認されないため、承認するとコメントが編集されると思いますが、コーデックスでは不明確です。コメントを承認する場合、どのオプションを使用すればよいですか?

回答:


14

投稿と同じように、コメントにはさまざまなステータスの配列を含めることができるため、各ステータスにフックに名前を付ける代わりに、以前のステータスと新しいステータスを通知する遷移フックがあります。あなたの場合、これでうまくいくかもしれません:

add_action('transition_comment_status', 'my_approve_comment_callback', 10, 3);
function my_approve_comment_callback($new_status, $old_status, $comment) {
    if($old_status != $new_status) {
        if($new_status == 'approved') {
            // Your code here
        }
    }
}

それがどうなるか教えてください?


タグは、コーデックスにもあるcomment_(old status)_to_(new status)にならないでしょうか?
AlxVallejo 2012

2
可能性もありますが、古いステータスを知っていることを意味します。スパムとしてマークされたコメントを承認したり、未承認のコメントを承認したりできるため、関数をトリガーするには2つのフックを使用する必要があります。コードの保守が容易になるので、移行を続行します。
Tomas Buteler

単純なwp_mail();関数でテストされましたが、テストメッセージが表示されませんでした。それはあなたのために働いていますか?私はwp 3.5.1を使用しています
Attila

@ user9909は3.5.1を実行してテストしたところ、機能します。より単純なコード(私の場合はerror_log())から始めて、そこからデバッグします。wp_mail()の使用は、WPとは何の関係もない多くのものを含め、問題が発生する可能性がある追加の場所を意味します。
Tomas Buteler 2013

1
wp_insert_commentフックを利用して、オンザフライで自動的に承認されたコメントをキャッチします。
ジョセフペルシー2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.