Switch language

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




wp_allow_comment [ WordPress Function ]

wp_allow_comment ( $commentdata )
Parameters:
  • (array) $commentdata Contains information on the comment
Uses:
Returns:
  • (mixed) Signifies the approval status (0|1|'spam')
Defined at:



Validates whether this comment is allowed to be made.

Source


<?php
function wp_allow_comment($commentdata) {
    global 
$wpdb;
    
extract($commentdataEXTR_SKIP);

    
// Simple duplicate check
    // expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)
    
$dupe "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND comment_approved != 'trash' AND ( comment_author = '$comment_author' ";
    if ( 
$comment_author_email )
        
$dupe .= "OR comment_author_email = '$comment_author_email' ";
    
$dupe .= ") AND comment_content = '$comment_content' LIMIT 1";
    if ( 
$wpdb->get_var($dupe) ) {
        
do_action'comment_duplicate_trigger'$commentdata );
        if ( 
defined('DOING_AJAX') )
            die( 
__('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );

        
wp_die__('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
    }

    
do_action'check_comment_flood'$comment_author_IP$comment_author_email$comment_date_gmt );

    if ( isset(
$user_id) && $user_id) {
        
$userdata get_userdata($user_id);
        
$user = new WP_User($user_id);
        
$post_author $wpdb->get_var($wpdb->prepare("SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1"$comment_post_ID));
    }

    if ( isset(
$userdata) && ( $user_id == $post_author || $user->has_cap('moderate_comments') ) ) {
        
// The author and the admins get respect.
        
$approved 1;
     } else {
        
// Everyone else's comments will be checked.
        
if ( check_comment($comment_author$comment_author_email$comment_author_url$comment_content$comment_author_IP$comment_agent$comment_type) )
            
$approved 1;
        else
            
$approved 0;
        if ( 
wp_blacklist_check($comment_author$comment_author_email$comment_author_url$comment_content$comment_author_IP$comment_agent) )
            
$approved 'spam';
    }

    
$approved apply_filters'pre_comment_approved'$approved$commentdata );
    return 
$approved;
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



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