2010-05-31 17 views
5

Qualcuno sa come disattivare il rilevamento dei commenti duplicati in Wordpress (2.9.2)? Sto cercando un modo per farlo in modo programmatico senza modificare i file core. Stiamo aggiungendo commenti tramite XMLRPC e il rilevamento dei duplicati in wp-includes/comment.php (riga 494) sta causando problemi durante il test.Rilevamento commento duplicato Wordpress

Grazie!

risposta

3

Attualmente non sono disponibili hook per eseguire questa operazione senza la modifica dei file core.

Il modo migliore sarebbe quello di commentare l'assegno duplicato wp-includes/comment.php

+0

Ciò significa che se lo stesso autore scrive più di un commento sullo stesso post, viene considerato un duplicato. Il che è semplicemente sbagliato! Ma grazie per la tua risposta. – codecowboy

0
$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"; 
12

In realtà, non c'è bisogno di modificare qualsiasi file core per fare questo. Basta inserire questi filtri e due funzioni minuscole nel file functions.php del tuo tema e i commenti duplicati non verranno più rifiutati.

add_filter('wp_die_handler', 'my_wp_die_handler_function', 9); //9 means you can unhook the default before it fires 

function my_wp_die_handler_function($function) { 
    return 'my_skip_dupes_function'; //use our "die" handler instead (where we won't die) 
} 

//check to make sure we're only filtering out die requests for the "Duplicate" error we care about 
function my_skip_dupes_function($message, $title, $args) { 
    if (strpos($message, 'Duplicate comment detected') === 0) { //make sure we only prevent death on the $dupe check 
     remove_filter('wp_die_handler', '_default_wp_die_handler'); //don't die 
    } 
    return; //nothing will happen 
} 
+0

Avviso: rimuove alcuni controlli importanti. Ad esempio, le persone sono in grado di commentare anonimi anche se non sono consentiti tramite le impostazioni. Puoi testare questo caricando un post, rimuovendo i cookie e quindi cercando di inviare il commento. –

+0

Per una soluzione più elegante vedere: http://www.strangerstudios.com/blog/2010/10/duplicate-comment-detected-it-looks-as-though-youve-already-said-that/ –

+0

Non funziona più . – tinyCoder

0

Ho avuto lo stesso problema durante la risposta nel back-end sui commenti.

Ma solo la risposta con lo stesso commento sul frontend ha funzionato bene senza cambiare nulla.

Spero che questo possa aiutare qualcuno.