Switch language

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




wp_notify_postauthor [ WordPress Function ]

wp_notify_postauthor ( $comment_id, $comment_type = '' )
Parameters:
Returns:
  • (bool) False if user email does not exist. True on completion.
Defined at:



Notify an author of a comment/trackback/pingback to one of their posts.

Source


<?php
function wp_notify_postauthor$comment_id$comment_type '' ) {
    
$comment get_comment$comment_id );
    
$post    get_post$comment->comment_post_ID );
    
$author  get_userdata$post->post_author );

    
// The comment was left by the author
    
if ( $comment->user_id == $post->post_author )
        return 
false;

    
// The author moderated a comment on his own post
    
if ( $post->post_author == get_current_user_id() )
        return 
false;

    
// If there's no email to send the comment to
    
if ( '' == $author->user_email )
        return 
false;

    
$comment_author_domain = @gethostbyaddr($comment->comment_author_IP);

    
// The blogname option is escaped with esc_html on the way into the database in sanitize_option
    // we want to reverse this for the plain text arena of emails.
    
$blogname wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

    if ( empty( 
$comment_type ) ) $comment_type 'comment';

    if (
'comment' == $comment_type) {
        
$notify_message  sprintf__'New comment on your post "%s"' ), $post->post_title ) . "\r\n";
        
/* translators: 1: comment author, 2: author IP, 3: author domain */
        
$notify_message .= sprintf__('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author$comment->comment_author_IP$comment_author_domain ) . "\r\n";
        
$notify_message .= sprintf__('E-mail : %s'), $comment->comment_author_email ) . "\r\n";
        
$notify_message .= sprintf__('URL    : %s'), $comment->comment_author_url ) . "\r\n";
        
$notify_message .= sprintf__('Whois  : http://whois.arin.net/rest/ip/%s'), $comment->comment_author_IP ) . "\r\n";
        
$notify_message .= __('Comment: ') . "\r\n" $comment->comment_content "\r\n\r\n";
        
$notify_message .= __('You can see all comments on this post here: ') . "\r\n";
        
/* translators: 1: blog name, 2: post title */
        
$subject sprintf__('[%1$s] Comment: "%2$s"'), $blogname$post->post_title );
    } elseif (
'trackback' == $comment_type) {
        
$notify_message  sprintf__'New trackback on your post "%s"' ), $post->post_title ) . "\r\n";
        
/* translators: 1: website name, 2: author IP, 3: author domain */
        
$notify_message .= sprintf__('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author$comment->comment_author_IP$comment_author_domain ) . "\r\n";
        
$notify_message .= sprintf__('URL    : %s'), $comment->comment_author_url ) . "\r\n";
        
$notify_message .= __('Excerpt: ') . "\r\n" $comment->comment_content "\r\n\r\n";
        
$notify_message .= __('You can see all trackbacks on this post here: ') . "\r\n";
        
/* translators: 1: blog name, 2: post title */
        
$subject sprintf__('[%1$s] Trackback: "%2$s"'), $blogname$post->post_title );
    } elseif (
'pingback' == $comment_type) {
        
$notify_message  sprintf__'New pingback on your post "%s"' ), $post->post_title ) . "\r\n";
        
/* translators: 1: comment author, 2: author IP, 3: author domain */
        
$notify_message .= sprintf__('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author$comment->comment_author_IP$comment_author_domain ) . "\r\n";
        
$notify_message .= sprintf__('URL    : %s'), $comment->comment_author_url ) . "\r\n";
        
$notify_message .= __('Excerpt: ') . "\r\n" sprintf('[...] %s [...]'$comment->comment_content ) . "\r\n\r\n";
        
$notify_message .= __('You can see all pingbacks on this post here: ') . "\r\n";
        
/* translators: 1: blog name, 2: post title */
        
$subject sprintf__('[%1$s] Pingback: "%2$s"'), $blogname$post->post_title );
    }
    
$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
    
$notify_message .= sprintf__('Permalink: %s'), get_permalink$comment->comment_post_ID ) . '#comment-' $comment_id ) . "\r\n";
    if ( 
EMPTY_TRASH_DAYS )
        
$notify_message .= sprintf__('Trash it: %s'), admin_url("comment.php?action=trash&c=$comment_id") ) . "\r\n";
    else
        
$notify_message .= sprintf__('Delete it: %s'), admin_url("comment.php?action=delete&c=$comment_id") ) . "\r\n";
    
$notify_message .= sprintf__('Spam it: %s'), admin_url("comment.php?action=spam&c=$comment_id") ) . "\r\n";

    
$wp_email 'wordpress@' preg_replace('#^www\.#'''strtolower($_SERVER['SERVER_NAME']));

    if ( 
'' == $comment->comment_author ) {
        
$from "From: \"$blogname\" <$wp_email>";
        if ( 
'' != $comment->comment_author_email )
            
$reply_to "Reply-To: $comment->comment_author_email";
    } else {
        
$from "From: \"$comment->comment_author\" <$wp_email>";
        if ( 
'' != $comment->comment_author_email )
            
$reply_to "Reply-To: \"$comment->comment_author_email\" <$comment->comment_author_email>";
    }

    
$message_headers "$from\n"
        
"Content-Type: text/plain; charset=\"" get_option('blog_charset') . "\"\n";

    if ( isset(
$reply_to) )
        
$message_headers .= $reply_to "\n";

    
$notify_message apply_filters('comment_notification_text'$notify_message$comment_id);
    
$subject apply_filters('comment_notification_subject'$subject$comment_id);
    
$message_headers apply_filters('comment_notification_headers'$message_headers$comment_id);

    @
wp_mail$author->user_email$subject$notify_message$message_headers );

    return 
true;
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics