Удалить поле «сайт» в комментариях на WordPress
Как в комментариях на WordPress вообще удалить поле ввода сайт, которое ниже полей ввода Имя * и E-mail * ?
Чтобы удалить поле "Сайт" (Website) в форме комментирования WordPress, открываем файл functions.php текущей темы и добавляем строчки кода:
function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields', 'remove_comment_fields');
Сделал по вашему методу, все прекрасно получилось, вы правы, свою форму комментариев на WordPress создавать не собираюсь, а просто его убрать. Хочу всем сказать спасибо !
Форма комментирования на 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 ); ?>
Шикарно, только у ТС задача поскромнее стояла: просто убрать поле!
Ответ годится для вопроса "Как сделать свою форму комментирования на WordPress?"
Если вы любитель плагинов, есть готовые решения для удаления полей из формы комментирования wordpress, например:
- disable-hide-comment-url
- Hide-n-Disable-comment-url-field
