Наверное, даже правильно говорить ДО плагинов, потому как данный метод отсекает совсем безруких роботов, принцип работы которых основан на поиске стандартных полей, которые они и заполняют. От ручных спамеров этот вариант не спасёт, но боты это основная сила спаморазнощиков. И да, это описание для верссии WordPress 3 и старше, опробовалось на wordpress 3.2.1, а теперь и на 3.3
Итак, открываем файл /wp-incudes/comment-template.php
Ищем блок:
<code>
'author' => '<p>' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span>*</span>' : '' ) .
'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span>*</span>' : '' ) .
'<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label>' .
'<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
</code>
Меняем name=»author», name=»email» и name=»url» на, допустим, name=»avvvtr», name=»nepochta» и name=»yri».
Далее открываем файл wp-comments-post.php
Ищем блок:
$comment_author = ( isset($_POST['author']) ) ? trim(strip_tags($_POST['author'])) : null; $comment_author_email = ( isset($_POST['email']) ) ? trim($_POST['email']) : null; $comment_author_url = ( isset($_POST['url']) ) ? trim($_POST['url']) : null; $comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
Меняем POST['author'], POST['email'] и POST['url'], на POST['avvvtr'], POST['nepochta'] и POST['yri'], получаем:
$comment_author = ( isset($_POST['avvvtr']) ) ? trim(strip_tags($_POST['avvvtr'])) : null; $comment_author_email = ( isset($_POST['nepochta']) ) ? trim($_POST['nepochta']) : null; $comment_author_url = ( isset($_POST['yri']) ) ? trim($_POST['yri']) : null; $comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
Разлогиниваемся и пробуем добавить комментарий. Если были внимательны и всё сделали правильно, то комментарий добавится и упадёт на модерацию или сразу появится на сайте. В зависимости от Ваших настроек.
Важно! Если Вы обновляете движок, то эту процедуру необходимо повторить, потому что при обновлении файлы, отвечающие за добавление комментариев, заменяются на новые, с настройками «по умолчанию».