Главная
Wordpress
Изменить порядок вывода полей в форме комментариев WordPress
  • 10 Мар 2016г
  • 1065
  • 7
  • Рубрика: Wordpress

Изменить порядок вывода полей в форме комментариев WordPress

Поля формы

Доброго времени суток 🙂

Недавно, я немного освежил тему на своем сайте и решил немного подправить форму отправки комментария. Дело в том, что у меня выводилось поле комментариев перед полями Имя и E-mail и это меня немного напрягало. Для меня как то привычнее когда поля Имя и E-mail перед полем Сообщение.

Ранее расположение желаемым и было, но WordPress меняется, его разработчики вносят свои коррективы и дополнения. Вернуть расположение как было раньше или задать свою собственную сортировку можно с помощью фильтра - comment_form_fields.

Для такой рокировки, нужно в файле пользовательских функций - functions.php, в самый его конец, перед закрывающим тегом - ?>, если его нет, то просто в конце, добавляем следующий код:

Иногда код нужно добавить сразу перед вызовом функции comment_form(). Данная функция может вызываться в файле - comments.php

function sort_comment_fields( $fields ){
	$new_fields = array();
	$myorder = array('author','email','url','comment'); // порядок полей

	foreach( $myorder as $key ){
		$new_fields[ $key ] = $fields[ $key ];
		unset( $fields[ $key ] );
	}

	if( $fields )
		foreach( $fields as $key => $val )
			$new_fields[ $key ] = $val;
	return $new_fields;
}
add_filter('comment_form_fields', 'sort_comment_fields' );

В 3 строке задан порядок вывода полей формы комментариев. По коду видно, что сначала идет поле:

  • author - автор комментария, то есть поле Имя.
  • email - поле E-mail.
  • url - поле Сайт.
  • comment - текстовое поле с комментарием Сообщение / Комментарий.

Как писал ранее, порядок можете менять в соответствии с надобностями и желанием. Сложностей, данная функция у Вас вызвать не должна. Сделав все правильно, поля расположатся в нужном порядке.

На этом все, спасибо за внимание. 🙂




Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)


Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(10 голосов, в среднем: 4.6 из 5)

Опубликовано 7 комментариев

  • kinderok
    Комментариев: 1

    Если добавить в форму несколько полей по разным категориям. Категории будут показаны по алфавиту. Вот как изменить порядок категорий в форме регистрации ?

    • Виталий
      Комментариев: 267

      Не понятно что Вам нужно. Это форма комментариев. Порядок полей задается в третей строке. Как Вы напишите через запятую, так в форме комментариев и выведет.

  • Николя
    Комментариев: 1

    Спасибо огромное! Работает! Много сайтов облазил, но не мог найти как такое реализовать.

  • Артем
    Комментариев: 13

    Благодарю, полезная информация.Тоже напрягал такой порядок)

  • Артем
    Комментариев: 13

    Подскажите как можно добавить дополнительную обертку или класс к телу комментария в WordPress. Потому что тело находится просто в , а мне надо как-то внутрь вспомогательный span вставить, чтобы сделать задумку со стилями для комментариев.
    В comment-template.php нашел функцию comment_text , но в ней не вижу где можно изменить , ну или скорее всего не вижу из-за отсутствия знаний) Можно как-то решить эту задумку ?

  • Виталий
    Комментариев: 267

    Все зависит от темы и конкретного случая. Код может быть как и в comment-template.php таки и в functions.php или в comment.php и тд. Файрбагом исследуйте код на странице ищите такие же классы и блоки в коде выше указанных файлов. Потом вносите коррективы.

Добавить комментарий

Заполните поля ниже. Ваш e-mail не будет опубликован. Обязательные поля помечены *

Уважаемые пользователи! При добавлении комментариев на сайт Вам следует соблюдать правила указанные под формой отправки комментариев.

Соблюдайте добавления комментариев

Это не спам *

Нажмите, чтобы добавить код в комментарий