1

新しいコメントがページに投稿されたときにユーザーにメールを送信するカスタム Wordpress 関数を作成しました。私のコードは、コメントが承認された場合にのみメールを送信すると思っていました。しかし、コメントがWordPressによってゴミ箱としてフラグ付けされている場合でも、メールを送信しているようです.

私のコード:

add_action('comment_post', 'pulse_alert', 11, 2);
function pulse_alert($comment_ID, $approved) {  
    //if the comment is approved
    if ($approved) 
    {
        global $post;
        $username = $post->post_title;      
        $user = get_user_by('login', $username);

        //if the user exists
        if ($user)
        {
            //get pulse config details
            $userid = $user->ID;
            $alerts = get_cimyFieldValue($userid, 'PULSEALERT');
            $emailformat = get_cimyFieldValue($userid, 'PULSEALERTFORMAT');

            if($alerts == 'YES')
            {
                //user details
                $user_info = get_userdata($userid);
                $user_email = $user_info->user_email;

                //for page link
                $email_newpulse_pagelink = $username; 

                //for email title
                $email_newpulse_companyname = get_cimyFieldValue($userid, 'COMPANYNAME');

                //Code for Pulse alert emails
                include_once('email/email_newpulse.php');

                $headers[] = 'From: The PartnerPulse team <hello@partnerpulse.co>';
                $headers[] = 'Bcc: The PartnerPulse team <hello@partnerpulse.co>';



                //Send email
                $mail = wp_mail($user_email, $email_newpulse_subject, $email_newpulse_body, $headers);
            }
        }
    }   
}

$approved 変数が機能していないようです。何か案は?

4

2 に答える 2

0

ソースを確認したところ、データベースにコメントが挿入された直後に、このアクション フックが起動されます。だから、右フックにする必要があります。

しかし実際には、$approvedvar は01またはの 3 つの値を持つことができますspam

したがって、次のように試してください:

add_action('comment_post', 'pulse_alert', 11, 2);
function pulse_alert($comment_ID, $approved) {  
    //if the comment is approved
    if ($approved == 1) 
    {

関数wp_allow_commentを確認できます。

于 2013-05-16T16:34:33.163 に答える