Detección de comentarios duplicados en WordPress

2 minutos de lectura

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

¡Gracias!

En realidad, no necesita editar NINGÚN archivo principal para hacer esto. Simplemente coloque este filtro y dos pequeñas funciones en su tema functions.php el archivo 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
}

  • Advertencia: Esto elimina algunos controles importantes. Por ejemplo, las personas pueden comentar de forma anónima, aunque no se permite a través de la configuración. Puede probar esto cargando una publicación, eliminando sus cookies y luego intentando enviar el comentario.

    –Daniel Richter

    28 de julio de 2015 a las 9:37

  • Para una solución más elegante ver: extrañostudios.com/blog/2010/10/…

    –Daniel Richter

    28 de julio de 2015 a las 9:43

Actualmente, no hay ganchos disponibles para hacer esto sin editar archivos principales.

La mejor manera sería comentar el cheque duplicado de wp-includes/comment.php

  • 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.

    – código vaquero

    2 de junio de 2010 a las 13:29


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

avatar de usuario
Tim

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 pueda ayudar a alguien.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad