Свои поля в блоке для комментариев?

Добрый день!
Возможно ли добавить свои, дополнительные поля в блок для комментариев?
Например кроме Message, Name, Email, Website нужно еще парочку полей.
Может быть есть уже готовый плагин для этого? Спасибо за Вашу помощь!

в cforms есть фича WP-комментарий

Отвечаю сам себе, но может и другим пригодится.

Шаг 1.

Открываем в редакторе файл темы «Default»: «wordpress/wp-content/themes/default/comments.php»
Находим в нем строку номер 78, а именно:

<label for="url"><small>Website</small></label></p>

После нее, вставляем код нашего текстового поля, которое будет иметь название «custom_field»:

<p><input type="text" name="custom_field" id="custom_field" value="" size="22" tabindex="3" />
<label for="custom_field"><small>Custom Field</small></label></p>

Сохраняем, и переходим к шагу номер 2.

Шаг 2.

Открываем файл «wordpress/wp-comments-post.php»
Находим в нем строку номер 40, а именно:

$comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

Сразу после неё добавляем:

$comment_custom_field      = ( isset($_POST['comment_field']) ) ? trim($_POST['comment_field']) : null;

Если необходима проверка этого поля на заполнение, в этом же файле, сразу после строки номер 69, а именно:

wp_die( __('Error: please enter a valid email address.') );

Вставляем:

elseif ( '' == $comment_custom_field )
        wp_die( __('Error: please fill the Custom Field') );

Сохраняем, переходим к шагу 3.

Шаг 3.

Открываем файл «wordpress/wp-includes/comment.php»
Находим в нем строку номер 894, а именно:

$data = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_karma', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id');

И заменяем ее на (мы добавили лишь имя нашей переменной «comment_custom_field»):

$data = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_karma', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id', 'comment_custom_field');

Сохраняем, переходим к шагу 4.

Шаг 4.

Открываем БД где хранятся таблицы нашего блога. Затем выбираем таблицу «wp_comments», и добавляем в нее новое поле «comment_custom_field». Теперь все введенное в поле Custom Field формы комментария будет сохранение в поле «comment_custom_field» таблицы «wp_comments».

Надеюсь мой пост поможет кому-нибудь сделать что-нибудь хорошее, и полезное. Спасибо за внимание!

Anonymous
Отправить
Ответ на: