如何使用 functions.php 向网站管理员和 post 作者发送评论通知消息?

How to send comment notification message to website admin and post Author using functions.php?

我的问题是"How to send comment notification to website admin and also post Author?"... 在 Wordpress 中默认函数是 "Post author received a comment notification message when user add any comments" 但我的要求完全不同。在 post - Post 中,作者和网站管理员仅相互评论(交流)。根据 WordPress 默认通知,Post Auther 收到了通知,但是当 Auther 回复或在 post 上发表任何评论时 - 网站管理员没有收到任何通知消息。

我正在使用 functions.php,我的代码是,

function se_comment_moderation_recipients( $emails, $comment_id ) {

    $emails = array( get_option( 'admin_email' ) );

    return $emails;
}
add_filter( 'comment_moderation_recipients', 'se_comment_moderation_recipients', 11, 2 );
add_filter( 'comment_notification_recipients', 'se_comment_moderation_recipients', 11, 2 );

根据我上面的代码,管理员只收到但我需要如果管理员回复任何评论 post,该特定作者收到一些通知消息 - 如果 Post 作者回复或评论任何,管理员收到一条提醒消息。

请看下面:

  • 勾选任何人发表评论框。这完成了这个过程,实际上向 post.

  • 的管理员和作者发送了一封电子邮件
  • 澄清一下,只要有人post对您网站上的任何文章发表评论,它就会向您(管理员)发送一封电子邮件。这封电子邮件是您在自己的常规设置中输入的电子邮件。现在,如果您创建一个作者帐户,您还有机会为该人输入一封电子邮件。因此,如果这对您不起作用,请检查所有电子邮件是否正确,或者您没有为作者帐户输入自己的电子邮件。

  • 关于此设置的另一个奇怪之处是,作者必须在您的网站上拥有作者帐户作为用户。您不能让他们成为订阅者或贡献者。这些都不起作用,因此您需要为您的作者提供一个作者帐户。

请看下面的截图:

我正在使用多用户评论通知,下面的代码几乎满足了我的要求。

add_filter('comment_notification_recipients', 'override_comment_notice_repicient', 10, 2);
    function override_comment_notice_repicient($emails, $comment_id) {  
        $admins = get_users( array(
            'role__in'     => array('administrator'),
        ) );
        foreach ( $admins as $user ) {
            $emails[] =  $user->user_email;
        }
        return ($emails);
    }

以上代码来自此link