2010-05-31 16 views
5

¿Alguien sabe cómo deshabilitar la detección de comentarios duplicados en Wordpress (2.9.2)? Estoy buscando una forma de hacerlo programáticamente sin editar los archivos centrales. Estamos agregando comentarios a través de XMLRPC y la detección duplicada en wp-includes/comment.php (línea 494) está causando problemas durante las pruebas.Detección de comentarios duplicados de Wordpress

Gracias!

Respuesta

3

Actualmente, no hay ganchos disponibles para hacer esto sin editar los archivos del núcleo.

La mejor manera sería crear un comentario en la comprobación de duplicados de wp-includes/comment.php

+0

Esto significa que si el mismo autor escribe más de un comentario en la misma publicación, se considera un duplicado. ¡Lo cual es simplemente incorrecto! Pero gracias por tu respuesta. – 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

En realidad, no es necesario realizar la edición de los archivos principales para hacer esto. Simplemente ponga estos filtros y dos funciones pequeñas en el archivo functions.php de su tema y los comentarios duplicados ya no serán rechazados.

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

Advertencia: esto elimina algunas comprobaciones importantes. Por ejemplo, las personas pueden hacer comentarios anónimos, aunque no se permiten a través de la configuración. Puede probar esto cargando una publicación, eliminando sus cookies y luego tratando de enviar el comentario. –

+0

Para una solución más elegante, consulte: http://www.strangerstudios.com/blog/2010/10/duplicate-comment-detected-it-looks-as-though-youve-already-said-that/ –

+0

Ya no funciona . – tinyCoder

0

Tuve el mismo problema al responder en el backend de los comentarios.

Pero solo responder con el mismo comentario en la interfaz funcionó bien sin cambiar nada.

Espero que esto ayude a alguien.

Cuestiones relacionadas