Как сделать собственную форму комментариев на Wordpress

Yan

Новичок
Добрый день! Недавно начал учить Wordpress, столкнулся с проблемой. На других форумах не помогли, вообще никаких ответов, может тут кто знает) Поиски в нете решили все вопросы, кроме этого одного. Хочу сделать свою форму комментариев, со своими полями, в нужном мне порядке. Но не получается убрать textarea по умолчанию. Пишу вот так (в comments.php):
Код:
$args = array(
    'fields' => array(
        'author' => '<p class="comment-form-author"><label for="author">Имя</label> <input id="author" name="author" type="text" value="" size="30" /></p>',
        'comment_field' => '<p class="comment-form-comment"><label for="comment">Комментарий</label> <textarea id="comment" name="comment" cols="15" rows="5" aria-required="true"></textarea></p>'
    )
);
comment_form($args);
Поля email и url удалил функцией в файле functions.php:
Код:
function remove_comment_fields($fields) {
    unset($fields['url']);
    unset($fields['email']);
    return $fields;
}
add_filter('comment_form_default_fields', 'remove_comment_fields');
В итоге поле textarea по умолчанию не переопределяется, а выводится по умолчанию поле textarea и тогда моя textarea добавляется еще снизу. Получается, что форма выглядит так:
textarea (по умолчанию, не исчезла, выводится почему-то)
input (author)
textarea (уже моя)
И для того, чтобы добавить комментарий, мне нужно обязательно заполнить поле textarea по умолчанию чем-угодно, лишь бы было, и только после этого добавляется комментарий уже из моей textarea. Как мне сделать так, чтобы сделать все по-нормальному? Т.е. как удалить наконец эту textarea по умолчанию, чтобы осталась только моя?
Спасибо!
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
По-нормальному - не надо добавлять то, что уже есть!…
 

Yan

Новичок
По-нормальному - не надо добавлять то, что уже есть!…
Согласен, но тогда поле для комментария textarea получается выше, чем поле для имени input author. А как сделать тогда так, чтобы поменять их местами? Я думал просто переопределить поле textarea, но это не сработало
 

Yan

Новичок
Изменил CSS, получилось поменять местами поля input и textarea. Но мне кажется это какой-то костыль, еще и при растягивании textarea вручную, выше него поле для имени двигается влево/вправо, вылезая за края других родительских блоков, выглядит некрасиво совсем. Неужели нет способа сделать это с помощью именно HTML разметки? Или все прибегают к правке стилей и другого способа реально не существует?
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Вообще-то CSS это и есть стиль. HTML это только контент.
 

Yan

Новичок
Вообще-то CSS это и есть стиль. HTML это только контент.
Да я знаю, что CSS - это стили. Я же это и написал, у меня все получилось, но вызвало некорректное смещение при растягивании textarea вручную, если смотреть просто статически, то все нормально. Имел ввиду есть ли способ правки именно HTML разметки? Намного же будет правильнее с помощью HTML расположить вначале input, а потом textarea, чем как оно само располагается по умолчанию textarea, а потом input и с помощью CSS уже приходится менять их местами. Это ж не совсем правильный способ?
 

WMix

герр M:)ller
Партнер клуба
скопируй шаблон, переименуй там ... и меняй в свое удовольствие, понимая что бэкапинги, поддержка,... ложаться на тебя/владельца
 

Yan

Новичок
скопируй шаблон, переименуй там ... и меняй в свое удовольствие, понимая что бэкапинги, поддержка,... ложаться на тебя/владельца
Та я и так создаю с ноля свою тему/шаблон, чтобы разобраться от и до. Но за отображение формы отвечает файл comment-template.php, а это ж уже ядро Wordpress'а, трогать его нельзя. Пробовал без использования функции comment_form(); делать, просто обычный HTML, в action прописал нужный файл, где обработчик, но тоже работает неправильно.
 

Yan

Новичок
Нукакбыпредсказуемо… Вы ожидали какого-то другого варианта?
А чтобы все было корректно, реально это сделать? Или в любом случае не будет идеально, как бы оно было по умолчанию? Может какой-то плагин есть, который может изменить отображение формы? Или, в принципе, можно написать свой плагин, который будет обращаться к файлу comment-template.php и каким-то образом менять форму? И в таком случае уже при последующем обновлении Wordpress'а плагин тоже будет работать. Не знаете как можно до конца решит эту проблему, чтобы не оставалось всяких недочетов?
 

AnrDaemon

Продвинутый новичок
Ресайз текстареи реализуется на стороне браузера и всё, что ты можешь сделать, это уменьшить количество случаев, когда пользователю может захотеться этим заниматься.
 
Сверху