diff --git a/src/wp-includes/comment.php b/src/wp-includes/comment.php index 7dafa1eaef..c6dd33d911 100644 --- a/src/wp-includes/comment.php +++ b/src/wp-includes/comment.php @@ -1802,7 +1802,7 @@ function wp_new_comment_notify_postauthor( $comment_ID ) { } // Only send notifications for approved comments. - if ( ! isset( $comment->comment_approved ) || 'spam' === $comment->comment_approved || ! $comment->comment_approved ) { + if ( ! isset( $comment->comment_approved ) || '1' != $comment->comment_approved ) { return false; } diff --git a/tests/phpunit/tests/comment.php b/tests/phpunit/tests/comment.php index 844e4d12b2..83868810f7 100644 --- a/tests/phpunit/tests/comment.php +++ b/tests/phpunit/tests/comment.php @@ -293,6 +293,25 @@ class Tests_Comment extends WP_UnitTestCase { $this->assertTrue( wp_notify_moderator( $c ) ); } + public function test_wp_new_comment_notify_postauthor_should_send_email_when_comment_is_approved() { + $c = self::factory()->comment->create( array( + 'comment_post_ID' => self::$post_id, + ) ); + + $sent = wp_new_comment_notify_postauthor( $c ); + $this->assertTrue( $sent ); + } + + public function test_wp_new_comment_notify_postauthor_should_not_send_email_when_comment_is_unapproved() { + $c = self::factory()->comment->create( array( + 'comment_post_ID' => self::$post_id, + 'comment_approved' => '0', + ) ); + + $sent = wp_new_comment_notify_postauthor( $c ); + $this->assertFalse( $sent ); + } + /** * @ticket 33587 */ @@ -306,6 +325,19 @@ class Tests_Comment extends WP_UnitTestCase { $this->assertFalse( $sent ); } + /** + * @ticket 35006 + */ + public function test_wp_new_comment_notify_postauthor_should_not_send_email_when_comment_has_been_trashed() { + $c = self::factory()->comment->create( array( + 'comment_post_ID' => self::$post_id, + 'comment_approved' => 'trash', + ) ); + + $sent = wp_new_comment_notify_postauthor( $c ); + $this->assertFalse( $sent ); + } + /** * @ticket 12431 */