Конструктивные элементы шаблона WordPress | Файл comments.php | Форма комментирования

wplogo.gifПродолжим рассматривать файл comments.php шаблона WordPress. Сегодня поговорим о форме для комментирования.

Традиционно так сложилось, что форма для комментирования состоит из четырех полей: имя комментатора, его e-mail, его сайт (если есть) и, наконец, непосредственно сам текст комментария. Первые два поля и поле для текста обязательно должны быть заполнены, иначе движок выдаст ошибку. Поле для адреса сайта является не обязательным. Сейчас некоторые блоггеры намеренно удаляют это поле из файла comments.php, пытаясь таким образом бороться со спамом. Это, конечно же, их дело. Скажу лишь, что на работоспособность блога это никак не влияет.

Как и любая форма в HTML форма для комментов также начинается с тэга <form> и заканчивается тэгом </form>. Вот в этих пределах и будем ковырять файл comments.php. Внутри формы кроме самих полей может быть добавлено много всякого. Например, во многих шаблонах код формы начинается с абзаца с приветствием и ссылками для авторизации (входа) и выхода. Вы можете спокойно добавлять здесь свой текст. Например, краткий свод правил комментирования из 193 пунктов:

<p>Приветствую вас, <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Выйти">Выйти »</a></p>

Иногда попадается такая конструкция:

<!-- <p><small><strong>XHTML: </strong> You can use these tags: <code><?php echo allowed_tags(); ? > </code></small></p>-->

Означает она просто разрешение комментаторам на использование некоторых HTML тэгов в своих комментах. Строка кода закомментирована знаками <!— —> и поэтому по-умолчанию не видна. Стоит их убрать, как строчка появится под окном для текста комментария. Естественно, вы можете переписать ее по-русски и добавить, что спамеров отстреливаете еще на подходе.

Далее после приветствия идут непосредственно поля формы. Каждое из них имеет свой уникальный номер (tabindex=»1″ и т.д.):

<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ? >" size="40" tabindex="1" /> <label for="author">Имя <?php if ($req) echo "(обязательно)"; ? > </label></p>

Соответственно, если вы добавляете новое поле (например, для работы плагина математической антиспам-капчи), то нумерация не должна повторяться или меняться местами. Скажем, если вы добавили поле для ввода капчи сразу после поля с сайтом, то номер его должен быть tabindex=»4″. Номера же поля для комментов и кнопки отправки соответственно должны сменить номера с 4 и 5 на 5 и 6.

Далее. Что можно еще сделать с полями ввода информации? В предложенном выше варианте поле и текст описания к нему будут вытянуты в одну строку:

comment-form1.gif

Если код прописать таким способом (встречается чаще всего в шаблонах):

<p><label for="author">Имя - <?php if ($req) echo "Обязательно"; ? > </label><br />
<input type="text" name="author" id="author" value="<?php echo $comment_author; ? >" size="40" tabindex="1" /></p>

То выглядеть форма будет так:

comment-form2.gif

На что здесь стоит обратить внимание.

Во-первых, текст описания. Буржуи были не дураки, придумав добавлять к описаниям полей имени и мыла слово «Обязательно» (required). Ибо не все читатели знают порядки, устанавливаемые движком WordPress. И если, к примеру, чел пишет коммент, используя браузер ИЕ, и забудет вписать свой е-мейл, то при попытке отправить комментарий получит сообщение об ошибке, а коммент, долго и тщательно продумываемый и рожденный в муках, будет бесследно утерян. Поэтому предупрежден — вооружен!

Во-вторых, если присмотреться внимательно, то у каждого поля в форме есть свой идентификатор id. Используя их, можно прописать в файле стилей CSS для каждого свой индивидуальный стиль отображения. Это очень удобно, например, когда вам надо, чтобы кнопка отправки выглядела несколько иначе, нежели сами поля формы. Я имею в виду, что у всех полей (включая и кнопку) используется стандартный тэг input. И если вы в стилях пропишете правила именно для input, то и поля и кнопка будут выглядеть одинаково. Улавливаете?

Еще пара замечаний напоследок:

1. Если вы используете плагин для подписки на комментарии (subscribe-to-comments), то теперь уже не нужно добавлять в файл comments.php строку:

<?php show_subscription_checkbox(); ? >

Сейчас плагин добавляет ее автоматически.

2. Если хотите сделать окно для текста комментария крупнее (по высоте), то в строке:

<p class="contain"><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>

Проставьте для свойства rows большее значение (по-умолчанию там 10).

В следующий раз рассмотрим подробно файл сайдбара(ов) — sidebar.php

Конструктивные элементы шаблона WordPress | Файл header.php
Конструктивные элементы шаблона WordPress | Файл index.php | Часть 1
Конструктивные элементы шаблона WordPress | Файл index.php | Часть 2
Конструктивные элементы шаблона WordPress | Файл single.php
Конструктивные элементы шаблона WordPress | Файл comments.php | Вывод комментариев
Конструктивные элементы шаблона WordPress | Файл comments.php | Форма комментирования
Конструктивные элементы шаблона WordPress | Файл sidebar.php
Конструктивные элементы шаблона WordPress | Файл footer.php
Конструктивные элементы шаблона WordPress | Файл 404.php

22.06.2010

Автор: Игорь Квентор
www.websovet.com

Если статья оказалась для вас полезной, пожалуйста, поставьте свою оценку и поделитесь в соцсетях:

1 Star2 Stars3 Stars4 Stars5 Stars (Вы еще не оценили)
Загрузка...

Похожие записи:

Подпишитесь на рассылку блога Вебсовет, чтобы первыми получать самые интересные материалы:

Оставить комментарий: