Wordpress обнаружение дубликатов комментариев - PullRequest
5 голосов
/ 31 мая 2010

Кто-нибудь знает, как отключить обнаружение дублирующихся комментариев в Wordpress (2.9.2)? Я ищу способ сделать это программно без редактирования основных файлов. Мы добавляем комментарии через XMLRPC, и обнаружение дубликатов в wp-includes / comment.php (строка 494) вызывает проблемы во время тестирования.

Спасибо!

Ответы [ 4 ]

12 голосов
/ 21 июля 2012

На самом деле, вам не нужно редактировать ЛЮБЫЕ файлы ядра, чтобы сделать это. Просто поместите эти один фильтр и две крошечные функции в файл functions.php вашей темы, и дублированные комментарии больше не будут отклоняться.

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
}
3 голосов
/ 31 мая 2010

В настоящее время нет доступных хуков, чтобы сделать это без редактирования файлов ядра.

Лучший способ - закомментировать дубликат проверки от wp-includes/comment.php

0 голосов
/ 17 августа 2012

У меня была такая же проблема при ответе в бэкэнде на комментарии.

Но просто ответ тем же комментарием на интерфейсе работал нормально, ничего не меняя.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 02 июня 2010
    $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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...