wpseek.com
A WordPress-centric search engine for devs and theme authors



wp_new_comment_notify_postauthor › WordPress Function

Since4.4.0
Deprecatedn/a
wp_new_comment_notify_postauthor ( $comment_id )
Parameters:
  • (int) $comment_id Comment ID.
    Required: Yes
Returns:
  • (bool) True on success, false on failure.
Defined at:
Codex:
Change Log:
  • 7.1.0

Sends a notification of a new comment to the post author.

Uses the {@see 'notify_post_author'} filter to determine whether the post author should be notified when a new comment is added, overriding site setting.


Source

function wp_new_comment_notify_postauthor( $comment_id ) {
	$comment = get_comment( $comment_id );
	if ( ! ( $comment instanceof WP_Comment ) ) {
		return false;
	}
	$comment_id = (int) $comment->comment_ID;
	$is_note    = ( 'note' === $comment->comment_type );

	/*
	 * Determine the default notification behavior. Notes are eligible regardless
	 * of approval status, based on the 'wp_notes_notify' option. Other comments
	 * are only eligible once approved, based on the 'comments_notify' option.
	 */
	if ( $is_note ) {
		$maybe_notify = (bool) get_option( 'wp_notes_notify', 1 );
	} elseif ( '1' !== $comment->comment_approved ) {
		$maybe_notify = false;
	} else {
		$maybe_notify = (bool) get_option( 'comments_notify' );
	}

	/**
	 * Filters whether to send the post author new comment and note notification emails,
	 * overriding the site settings and defaults. By default, notifications are sent for
	 * all notes and for approved comments.
	 *
	 * @since 4.4.0
	 * @since 7.1.0 Comment approval status is checked before this filter,
	 *              and the filter no longer fires for invalid comment IDs.
	 *
	 * @param bool $maybe_notify Whether to notify the post author about the new comment.
	 * @param int  $comment_id   The ID of the comment for the notification.
	 */
	$maybe_notify = apply_filters( 'notify_post_author', $maybe_notify, $comment_id );

	/*
	 * wp_notify_postauthor() checks if notifying the author of their own comment.
	 * By default, it won't, but filters can override this.
	 */
	if ( ! $maybe_notify ) {
		return false;
	}

	return wp_notify_postauthor( $comment_id );
}