Дизайн та розробка сайту

Изменить порядок вывода полей в форме комментариев 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 - текстовое поле с комментарием Сообщение / Комментарий.

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

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

Дизайн та розробка сайту

Back to top