Changeset 26367 for trunk/src/wp-includes/pluggable.php
- Timestamp:
- 11/25/2013 01:46:49 AM (12 years ago)
- File:
-
- 1 edited
-
trunk/src/wp-includes/pluggable.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/pluggable.php
r26358 r26367 1001 1001 if ( ! function_exists('wp_notify_postauthor') ) : 1002 1002 /** 1003 * Notify an author of a comment/trackback/pingback to one of their posts.1003 * Notify an author (and/or others) of a comment/trackback/pingback on a post. 1004 1004 * 1005 1005 * @since 1.0.0 … … 1007 1007 * @param int $comment_id Comment ID 1008 1008 * @param string $deprecated Not used 1009 * @return bool False if user email does not exist. True on completion. 1009 * @uses get_comment() 1010 * @uses get_post() 1011 * @uses get_userdata() 1012 * @uses apply_filters() 1013 * @uses wp_specialchars_decode() 1014 * @uses get_option() 1015 * @uses __() 1016 * @uses get_permalink() 1017 * @uses admin_url() 1018 * @uses wp_mail() 1019 * @return bool True on completion. False if no email addresses were specified. 1010 1020 */ 1011 1021 function wp_notify_postauthor( $comment_id, $deprecated = null ) { … … 1021 1031 $author = get_userdata( $post->post_author ); 1022 1032 1033 // Who to notify? By default, just the post author, but others can be added. 1034 $emails = array( $author->user_email ); 1035 $emails = apply_filters( 'comment_notification_recipients', $emails, $comment_id ); 1036 $emails = array_filter( $emails ); 1037 1038 // If there are no addresses to send the comment to, bail. 1039 if ( ! count( $emails ) ) { 1040 return false; 1041 } 1042 1043 // Facilitate unsetting below without knowing the keys. 1044 $emails = array_flip( $emails ); 1045 1046 // Post author may want to receive notifications for their own comments 1047 $notify_author = apply_filters( 'comment_notification_notify_author', false, $comment_id ); 1048 1023 1049 // The comment was left by the author 1024 if ( $comment->user_id == $post->post_author ) 1050 if ( ! $notify_author && $comment->user_id == $post->post_author ) { 1051 unset( $emails[ $author->user_email ] ); 1052 } 1053 1054 // The author moderated a comment on their own post 1055 if ( ! $notify_author && $post->post_author == get_current_user_id() ) { 1056 unset( $emails[ $author->user_email ] ); 1057 } 1058 1059 // The post author is no longer a member of the blog 1060 if ( ! $notify_author && ! user_can( $post->post_author, 'read_post', $post->ID ) ) { 1061 unset( $emails[ $author->user_email ] ); 1062 } 1063 1064 // If there's no email to send the comment to, bail, otherwise flip array back around for use below 1065 if ( ! count( $emails ) ) { 1025 1066 return false; 1026 1027 // The author moderated a comment on his own post 1028 if ( $post->post_author == get_current_user_id() ) 1029 return false; 1030 1031 // The post author is no longer a member of the blog 1032 if ( ! user_can( $post->post_author, 'read_post', $post->ID ) ) 1033 return false; 1034 1035 // If there's no email to send the comment to 1036 if ( '' == $author->user_email ) 1037 return false; 1067 } else { 1068 $emails = array_flip( $emails ); 1069 } 1038 1070 1039 1071 $comment_author_domain = @gethostbyaddr($comment->comment_author_IP); … … 1043 1075 $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); 1044 1076 1045 $comment_type = $comment->comment_type ? $comment->comment_type : 'comment'; 1046 1047 switch ( $comment_type ) { 1077 switch ( $comment->comment_type ) { 1048 1078 case 'trackback': 1049 1079 $notify_message = sprintf( __( 'New trackback on your post "%s"' ), $post->post_title ) . "\r\n"; … … 1108 1138 $message_headers .= $reply_to . "\n"; 1109 1139 1110 $emails = array( $author->user_email );1111 1112 $emails = apply_filters( 'comment_notification_recipients', $emails, $comment_id );1113 1140 $notify_message = apply_filters( 'comment_notification_text', $notify_message, $comment_id ); 1114 1141 $subject = apply_filters( 'comment_notification_subject', $subject, $comment_id );
Note: See TracChangeset
for help on using the changeset viewer.