Удалить поле «сайт» в комментариях на WordPress

Как в комментариях на WordPress вообще удалить поле ввода сайт, которое ниже полей ввода Имя * и E-mail * ?

Начальный Asked on 29.01.2015 in Комментарии.
Add Comment
3 Answer(s)

Чтобы удалить поле "Сайт" (Website) в форме комментирования WordPress, открываем файл functions.php текущей темы и добавляем строчки кода:

 function remove_comment_fields($fields) {
 unset($fields['url']);
 return $fields;
 }
 add_filter('comment_form_default_fields', 'remove_comment_fields');
 

Понимающий Answered on 29.01.2015.

Сделал по вашему методу, все прекрасно получилось, вы правы, свою форму комментариев на WordPress создавать не собираюсь, а просто его убрать. Хочу всем сказать спасибо !

on 31.01.2015.
Add Comment

Форма комментирования на WordPress выводится функцией


comment_form();


Скорее всего, эту строчку кода вы найдете в файле comments.php вашей текущей темы. И если она у вас там так и прописана - то есть comment_form() то в шаблоне будет выводится стандартная форма комментирования со всеми полями. А вот чтобы вмешаться в эту стандартную функцию стандартной формы комментирования, нам потребуется параметр $args - через него можно изменить поля и саму форму.
Таким образом, передавая переменные в comment_form(), мы можем сделать свою форму комментирования - изменить вид полей, удалить ненужные поля и т.д. Вот пример, как это делается (в файле comments.php  вместо строчки comment_form() нарисуем свою форму:


<?php

$fields = array(

'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Имя' ) . '</label> ' . ( $req ? '<span class="required">*</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 class="required">*</span>' : '' ) .

'<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',

);

$args = array(

'fields' => apply_filters( 'comment_form_default_fields', $fields )

,'comment_field' => '<p class="comment-form-comment"><label for="comment">' . _x( 'Комментарий', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>'

,'must_log_in' => '<p class="must-log-in">' . sprintf( __( '<a href="%s">Войдите</a> чтобы комментировать.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>'

,'logged_in_as' => '<p class="logged-in-as">' . sprintf( __( 'Вы вошли как <a href="%1$s">%2$s</a>. <a href="%3$s" title="Выход">Выйти?</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>'

,'comment_notes_before' => '<p class="comment-notes">' . __( 'Не публикуется.' ) . ( $req ? $required_text : '' ) . '</p>'

,'comment_notes_after' => '<p class="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>'

,'id_form' => 'commentform'

,'id_submit' => 'submit'

,'title_reply' => __( 'Ответить' )

,'title_reply_to' => __( 'Ответить %s' )

,'cancel_reply_link' => __( 'Отмена' )

,'label_submit' => __( 'Отправить' )

);

comment_form( $args );

?>

ГУРУ Answered on 29.01.2015.

Шикарно, только у ТС задача поскромнее стояла: просто убрать поле!

on 29.01.2015.

Ответ годится для вопроса "Как сделать свою форму комментирования на WordPress?"

on 30.01.2015.
Add Comment

Если вы любитель плагинов, есть готовые решения для удаления полей из формы комментирования wordpress, например:

  • disable-hide-comment-url
  • Hide-n-Disable-comment-url-field
Сторонник Answered on 30.01.2015.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.