Инструкция
В том случае, если для сайта используется профессиональная платформа, обычно платная, в ней уже есть все необходимые модули, в том числе и блок комментариев. Но как поступить, если вы только осваиваете веб-дизайн, создали простой сайт на чистом html и хотите дать посетителям возможность оставлять сообщения?
Для добавления на сайт блока комментариев воспользуйтесь сервисом Disqus . После установки данной платформы на сайт его посетители смогут оставлять свои реплики.
Зарегистрируйтесь на сервисе. В поле Site URL введите адрес нашего сайта. В поле Site Name – его название. Чуть сложнее с полем Site Shortname – здесь надо ввести короткое имя сайта, то есть без http, www и ru. Например, если ваш сайт имеет название httр://site12345.ru, то в качестве короткого имени введите site12345. В результате будет создан поддомен site12345.disqus.com. Перейдя на него, вы попадете в панель настройки комментариев.
Введя все данные, нажмите кнопку Continue, откроется панель настроек. Выберите русский язык, потом настройте Optional Features. В пункте Facebook Connect вы можете дать пользователям Facebook возможность оставлять комментарии из своего аккаунта. Для этого вам надо ввести API Key: вы можете получить его, нажав на ссылку чуть ниже пункта Facebook Connect, но для этого у вас должен быть аккаунт на данном сервисе. В поле Twitter @Replies впишите имя вашего -аккаунта, оно будет использоваться при ответах.
Теперь настройте чекбоксы (переключателя). Если отметите Media Attachments, то все ссылки на медиафайлы будут показаны внизу комментария как прикрепленные файлы. Trackbacks – показывает трекбеки к странице. Akismet – подключение антиспамового сервиса. Reactions – показывает упоминания в сети о вашем сайте. Наконец, если отметить чекбокс Display login buttons with comment box, над формой комментариев появятся кнопки сервисов – Facebook, Twitter и пр.
Заполнив форму, нажмите Continue. На новой странице появятся варианты подключения к различным платформам. Если вы писали код сайта сами, выберите пункт Universal Code. Для установки кода скопируйте его из пункта 1, после чего вставьте в то место вашей страницы, где должны находиться комментарии. Затем скопируйте код из пункта 2 и вставьте его до закрывающего тега /body.
Вам осталось правильно оформить ссылки, ведущие на страничку с комментариями. Например, если страница для комментариев имела вид httр://site12345.ru/comment.html, то ссылку надо сделать такой: httр://site12345.ru/comment.html #disqus_thread. После этого проверьте возможность оставлять комментарии, все должно работать.
(в которой мы убирали теги h3 в заголовке перед формой комментирования) — сегодня заставим функцию формы комментов WP работать целиком по нашим правилам:
получим возможность задавать собственные стили, менять на своё усмотрение заглавие «Добавить комментарий», исключать при необходимости определённые окошки ввода информации, например форму url, настраивать placeholder и т.д. а, главное, не потерять всё это при обновлении движка.
Нынче мы запросто выполним нашу цель, всего лишь редакцией файла функций. И коли вы чувствуете в себе силы редактировать код сайта (этот способ чуть сложнее от того, который описан ранее)…
Начнём концерт:
стоит ли редактировать ядро WordPressКак известно, править ядро WordPress (файлы CMS) не рекомендованное занятие, в большей степени из-за того, что после обновления движка теряются наработки! Тем паче у начинающих администраторов ресурсов, эти обновления вордпресс совершаются внезапно (без их ведома) как этого избежать, читайте в этой .
стоит ли обновлять WordPressНепременно да! …тут не может быть и разногласий! …однако это чревато, как и говорилось, тем что обновление движка затирает редакции администратора!
Посему многие веб мастера, для более гибких настроек своего сайта, используют всевозможные фильтры (хаки): тоже неплохо! Однако я (и не только один я) предпочитаю какие-то второстепенные (относительно важности постоянных обновлений) функции ядра WP переносить в корень шаблона.
Таким образом выводить необходимые регулировки в файлы темы, чтобы на уровне шаблона управлять государством сайта: без всяких потерь)
Приступим к редакции, но!!
…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!
Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!
Что нам нужно для достижения цели:
перенести из ядра WP (из файла comment-template.php) отработку функции comment_form в директорию шаблона.
где найти файл comment-template.phpПереходим по этому пути ваш_домен/wp-includes файл comment-template.php
…открываем его (или прямо на хостинге — я делаю так), или скачиваем и редактируем в Нотепад++ — читать: как настроить Notepad++
Ищите такую строку (примерный № строки 2111)
function comment_form($args = array(), $post_id = null) {
do_action("comment_form_comments_closed");
Всё это копируете и переносите к себе в файл функций functions.php .
Обычно, все новые добавления кода помещают перед закрывающим тегом?> . Но я рекомендую добавляемый код группировать, так сказать, по теме, тогда всё запросто при необходимости отыщете.
Следующим шагом будет изменение имени функции: можете назвать её как угодно душе, хоть именным вензелем обозначить… У меня получилось так:
function my_my_ comment_form
Сохраняем наработки…
…и переходим в файл вашей темы comments.php .
В этом файле нам нужно поменять имя вызова функции, на то, которым обозвали на первом шаге:
Отыскиваете в документе такую фразу (она обычно в его финале): и просто-напросто добавляете my_my_ ну или своё имя.
Должно получиться так:
…теперь задача вызова новой функции выполнена: логика шаблона станет использовать именно наш перекопированный в тему код!
Что нам и требовалось!
Теперь всё что вам остаётся выполнить, так это подредактировать под свои нужды код новоиспечённой функции my_my_comment_form();
…или задают индивидуальную отработку placeholder — посмотрите как выглядит это у меня:
…у меня в окошке формы комментирования расположен вензель «Ваш комментарий…» который исчезает, как только комментатор набирает своё послание…
…и тому… и тому… подобное.
Есть какие-то вопросы по добавлению/уборке элементов формы комментирования, пишите, разберёмся…
или вот можете почесть пост о полезных сниппетах () для формы комментирования…
В WordPress есть несколько видов содержания, такие как записи, страницы, комментарии. WordPress является очень гибкой платформой, которая позволяет настраивать основные виды содержания так, как нужно для сайта. Можно поменять внешний вид и функционал. В данном уроке мы покажем, как изменить поведение и внешний вид комментариев на сайте под управлением WordPress.
Шаг 1. Разбираемся в функцией comment_form и ее аргументамиРассмотрим функцию WordPress comment_form . Она отвечает за вывод формы комментариев, которая выводится на странице или записи. Вызов данной функции в основном можно встретить в файле comments.php в папке темы. Данный файл включается в различных местах, например, в файлах single.php и page.php , непосредственно или через вызов функции comments_template .
Описание функции можно найти в кодексе WordPress .
Если использовать функцию comment_form для вывода формы, то она будет выводиться с использованием параметров по умолчанию и будет содержать такие поля как имя, email (оба поля являются обязательными), веб сайт и содержание комментария. В теме по умолчанию Twenty Eleven форма будет выглядеть следующим образом.
Некоторые важные аргументы функции comment_form:
- fields -с его помощью можно управлять выводом полей в форме комментария.
- comment_notes_before и comment_notes_after - используются для вывода информации перед и после формы.
- title_reply - используется для изменения названия ответа, которое по умолчанию имеет значение ‘Leave a Reply’.
- label_submit - используется для изменения текста на кнопке отправки комментария.
Теперь настроим нашу форму комментария с помощью передачи аргументов в функцию comment_form .
В случае, если нам нужно настроить поля в форме комментариев, нужно передать их список в функцию comment_form . По умолчанию для функции используется следующий список полей:
$fields = array("author" => "
", "email" => "" . __("Email") . " " . ($req ? "*" : "") . "
", "url" => "" . __("Website") . "" . "
",);Если нам нужно удалить поле, например, website , нужно просто исключить его из массива и передать массив в функцию comment_form .
$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "
", "email" => "" . __("Email") . " " . ($req ? "*" : "") . "
",); $comments_args = array("fields" => $fields); comment_form($comments_args);В дополнение также сменим название формы на ‘Please give us your valuable comment’, а надпись на кнопке на ‘Send My Comment’.
Для выполнения задачи передаем в функцию comment_form следующие аргументы:
$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "
", "email" => "" . __("Email") . " " . ($req ? "*" : "") . "
",); $comments_args = array("fields" => $fields, "title_reply"=>"Please give us your valuable comment", "label_submit" => "Send My Comment"); comment_form($comments_args);Теперь форма комментария будет выглядеть следующим образом:
Шаг 3 . Удаляем поля из формы с помощью крюкаТакже форма комментария WordPress может быть изменена с помощью крюков и фильтров. Такая настройка может быть особенно полезна при работе с плагином, когда нужно настроить несколько элементов, но не изменять файлы темы. Фильтр для добавления иди удаления полей из формы - ‘ comment_form_default_fields ‘
Удалим поле адреса URL с помощью фильтра. Приведенный код можно использовать в плагине или в файле functions.php активной темы.
Function remove_comment_fields($fields) { unset($fields["url"]); return $fields; } add_filter("comment_form_default_fields","remove_comment_fields");
Шаг 4. Добавляем данные в форму комментария с помощью крюкаМы можем добавить поля в форму с помощью фильтра ‘ comment_form_default_fields ‘. Добавим поле возраста автора с помощью фильтра и сохраним данное поле дополнительные данные и будем их выводить в комментарии.
Добавляем поле следующим образом:
Function add_comment_fields($fields) { $fields["age"] = "
" . __("Age") . "" . "
"; return $fields; } add_filter("comment_form_default_fields","add_comment_fields");#respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age label, #respond .comment-form-comment label { background: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); box-shadow: 1px 2px 2px rgba(204,204,204,0.8); color: #555; display: inline-block; font-size: 13px; left: 4px; min-width: 60px; padding: 4px 10px; position: relative; top: 40px; z-index: 1; }
Теперь наша форма комментария будет выглядеть следующим образом:
Теперь возраст хранится как дополнительная информация. Нужно использовать крюк в ‘ comment_post ‘:
Function add_comment_meta_values($comment_id) { if(isset($_POST["age"])) { $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); } } add_action ("comment_post", "add_comment_meta_values", 1);
Как только данные сохранены, их можно выводить в комментарии следующим образом:
Шаг 5 . Настройка комментариев для определенных типов записей
Иногда требуется использовать поля в комментариях только для определенных типов записей. Изменим код для вывода поля возраста только для записи типа book :
Function add_comment_fields($fields) { if(is_singular("books")) { $fields["age"] = "
" . __("Age") . "" . "
"; } return $fields; } add_filter("comment_form_default_fields","add_comment_fields"); Шаг 6. Создаем возвратную функцию для вывода комментариевФункция wp_list_comments используется для вывода комментариев в записях. В кодексе WordPress функция описана подробно.
wp_list_comments имеет аргумент ‘ callback ‘ в котором можно определить функцию, которая вызывается при выводе комментария.
В теме Twenty Eleven в файле comments.php можно найти строку:
Wp_list_comments(array("callback" => "twentyeleven_comment"));
Изменим ее на:
Wp_list_comments(array("callback" => "my_comments_callback"));
Функция my_comments_callback будет вызываться для каждой записи.
Шаг 7. Стилизация комментариевТеперь мы немного изменим стиль комментария. Просто будем выводить содержание записи и поле возраста, которое было добавлено нами ранее. Мы также изменим цвет фона для комментариев.
Код функции ‘ my_comments_callback ‘:
Function my_comments_callback($comment, $args, $depth) { $GLOBALS["comment"] = $comment; ?>
Последний шаг в создании формы комментариев для сайта на PHP и MySQL — Делаем вывод наших комментариев на странице сайта. Вот код для этого:
Вот и все! Наша простая форма комментариев ля сайта создана и может работать на сайте.
Но это конечно не для новичка, который не станет копаться со всеми этими кодами HTML, PHP и MySQL. Также не станет изучать, как создать базу данных. Ему нужно все сразу, быстро и без головной боли. Я прав? Конечно прав!
Тогда давайте перейдем к следующему разделу моего материала и узнаем все об уже готовых системах комментариев для сайта и выберем наиболее удобную, функциональную и приемлемую для вашего сайта...
Системы комментариев для сайта. Какую выбрать?Как сделать комментарии на сайте — это вопрос важный потому, что комментарии на сайте играют важную роль не только для общения владельца сайта и посетителя, но также комментарии важны для сео продвижения и раскрутки.
С помощью комментариев на сайте повышаются позиции сайта в поисковой выдаче, улучшаются поведенческие факторы, растет трафик на сайт, а следственно и увеличивается ваш заработок. Вот видите, как важны комментарии для сайта!
Поэтому давайте рассмотрим как сделать комментарии на сайте и какую систему комментирования выбрать, как наиболее оптимальный вариант?
Вообще комментарии на сайтах выводятся многими способами. Это и специальные плагины для wordpress движков и комментарии от социальных сетей всевозможные, такие как например Вконтакте , Facebook , Disqus . Также есть независимые сервисы, которые предлагают свои системы комментариев для сайта, например .
Я сейчас вам приведу одну табличку, которая сразу расставит все на свои места и вопросов уже не возникнет по поводу выбора системы комментариев для сайта:
Здесь все четко и ясно видно какая система комментариев является лучшей и нескольких представленных, которые чаще всего используются вебмастерами на своих ресурсах. Думаю, что пояснения здесь излишни и выбор остается только за Вами!
Я для себя уже принял решение и установил систему комментариев для своего сайта от Cackle.
Кстати если Вы уже решились выбрать систему для своего сайта, то вот вам ссылка, которая дает 5% скидку на приобретение системы комментариев от Cackle!
А у меня пока все на сегодня! Всем удачи и благополучия! До новых встреч!