Настраиваем комментарии в WordPress. Пользовательский вывод комментариев Публикуем добавить комментарий p

Настраиваем комментарии в WordPress. Пользовательский вывод комментариев Публикуем добавить комментарий p

Многим такое название не мешает, но иногда встает вопрос как изменить добавить комментарий на оставить отзыв или подобное. В этом случаи вам и поможет данная статья. Как и написал выше, покажу пару способов.

Способ №1

Для первого способа, вы должны в папке с темой, что установлена у вас на сайте, найти файл comments.php . Если такой есть, открыть его и поискать в нем массив, отвечающий за настройки и вывод содержания формы комментариев. Выглядит он примерно так:

$args = array("comment_notes_before" => "

", "comment_field" => "

Комментарий *

", "id_submit" => "comm_subm", "label_submit" =>

Так вот, к этому массиву, нужно добавить новый параметр с нужным значением и все. В нашем случаи, это:

"title_reply" => "Оставить свой отзыв",

Как понимаете - Оставить свой отзыв , это и есть новое название вместо - Добавить комментарий. Добавить такой параметр можно в конец или в начало массива. Получится как-то так:

$args = array("title_reply" => "Оставить свой отзыв", "comment_notes_before" => "

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

", "comment_field" => "

Комментарий *

", "id_submit" => "comm_subm", "label_submit" => "Отправить",); comment_form($args);

Добавлено в начало и теперь, на страницах записей будет выводится строка - Оставить свой отзыв. Этот способ не сложный и требует минимальных сил, главное правильно определить массив. Но иногда так бывает, что внутри темы нет файла comments.php или в нем нет массива и вы не знаете как правильно его туда добавить, тогда вам поможет второй способ.

Способ №2

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

Function wph_change_submit_label($defaults) { $defaults["title_reply"] = "Оставить свой отзыв"; return $defaults; } add_filter("comment_form_defaults", "wph_change_submit_label");

Бонус

Это то же самое, по сути что делалось и в первом способе, просто, там мы внедряли непосредственно в массив, а тут через фильтр. После этих действий, вы увидите изменение в названии. Как и в первом способе, можете поменять текст - Оставить свой отзыв, на тот что вам нравится. Данный текст указан как пример.

Еще хочу предложить и обратить внимание на склонение слова Комментарии. Если у вас выводит в форме строку - Опубликовано 1 комментарий или Комментариев: 10. Можете воспользоваться Функцией из статьи . Если вы уже пользуетесь ней, то рекомендую в строке с массивом:

Array("комментарий","комментария","комментариев")

Изменить названия на отзыв,отзыва,отзывов, если вы использовали это слово в способах выше. таким образом, у вас будет все одинаково, а не в разброс, там отзывы, а там комментарии.

Вот такую информацию, хотел сегодня вам предоставить. Возможно, кому-то она станет полезной.

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

Всем привет! Сегодня я хочу Вам рассказать о том, как заставлять читателей Вашего блога оставлять комментарии на Вашем же блоге. Конечно я не хочу сказать, что мой блог буквально “кишит” комментариями, но все же, все равно что-то есть.

Немного о себе.

Создав первый блог, второй (этот – ) я страдал нехваткой комментариев на них. Давай рассмотрим этот блог. По-моему, писал неплохо, полезно, но комментариев все нет и нет. Помню, после того как дописал , думал, что будут всякие благодарности и т.п., мол создано немало новых блогов, но комментариев все равно не было…

Прошло несколько недель, но все равно мало кто откликнулся, были единицы, создавшие блоги по моим урокам. Но я упорно двигался дальше, продолжал и продолжаю писать, потому что мне это нравится, я люблю свои блоги, своих читателей, писать новые уроки и просто общаться с ними в твиттере, вконтакте, в icq, на facebook, по почте, в скайпе и т.п.

Но все же, как заставить читателя оставить комментарий?

Для начала я проанализировал свою читательскую аудиторию и я понял, что, в основном, мои читатели – это новички в интернете, новички по созданию блога и т.п. Я вспомнил себя, свое поведение, когда был еще совсем зеленым: честно, мне было страшно писать комментарии , потому что мои я знал, что мои слова увидят очень много людей, а вдруг я скажу глупость, тогда все будут смеяться надо мною или будут плохо думать обо мне.

Поэтому, я считал, что лучше порою промолчать, “забить” на свою проблему, хотя ответа на свой вопрос в Гугле, в Яндексе не нашел. Я думал, что никто не будет откликаться на мои проблемы, отвечать на мои вопросы.

Поставив себя, на место читателя, я понял, что нужно дать понять, задавать вопросы – это не глупость, все когда-то были новичками. И в конце статей я просил оставлять комментарии к . И давал четко понять, что не нужно этого боятся.

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

Уважаемы читатели, если я даже не ответил на Ваши благодарности, знайте, я их без внимания не оставил, честно, мне действительно очень приятно…

Как сделать так, чтобы читатель оставил комментарий на блоге
  • Нужно понять, какая у Вас читательская аудитория и вникнуть в доверие к ней. Для этого, можно создать страницу “Об авторе”, разместить свою фотографию, дать ссылки на свои контакты в icq, skype, twitter, Вконтакте, facebook и др., чтобы Ваши читатели действительно знали, что Вы – живой человек, такой же как и сам читатель.
  • Можно, иногда, опубликовывать посты личного характера, например, как Вы интересно провели лето и т.п. Такие статьи “сближают” автора блога и читателей. Но не стоит преувеличивать. Не нужно отходить от тематики своего блога слишком часто, тем самым Вы оттолкнете целевую аудиторию.
  • В конце статьи просить читателей оставить комментарий. Это малоэффективный способ. Более эффективно в конце поста задать вопрос.
  • В самой статье не открывать полностью весь смысл. Пусть останется такое чувство, что Вы, якобы, пропустили естественные вещи, читатель захочет сам дополнить Вашу статью.
  • Собирать некие дискуссии. Например, немало комментариев набирают посты следующего характера: “Apple VS Nokia”, “WordPress или Joomla” и т.п. Любители одной стороны будут доказывать свое, а противоположная сторона – обратное.
  • Сделать капчу (защиту от спама для оставления комментариев) как можно проще. Конечно в идеале – полное отсуствие капчи, но спамерские боты “выносят мозг и блог” :).
    К примеру, я НИКОГДА не оставляю комментарии там, где в виде капчи используется код в картинки, если он еще и длинный, то это все, это просто конец света. Мне просто лень, не хватает времени переписывать этот набор букв.
    Поэтому для защиты от спама ставьте плагины на подобие тех, которые требуют поставить лишь галочку, что Вы не робот, ну или решить несложную математическую задачу. Кстати, о последнем плагине я подробно рассказывал в .
  • Перед комментированием вместо стандартного текста “К сожалению, пока нет комментариев” разместите, что-нибудь “заставляющее” оставить комментарии, наподобие “Оставь комментарий, нам важно ТВОЕ мнение” (первое, что пришло в голову 🙂). Этот текст можно изменить в файле comments.php.
  • Оставляйте комментарии на других блогах. В первое время это очень сильно помогает. Но потом на это не хватает всего тоже времени… Оставлять комментарий нужно осмысленно и в тему. Сразу вспомнил свой комментарий оставленный на seogramota.ru, благодаря которому я получил много новых читателей, подписчиков и бесплатную ссылку с блога с 110 Тиц и PR 2 (что такое тиц и pr и как их поднять я скоро расскажу в одном из своих уроках).
    Оставляйте комментарии со своим уникальным аватаром (это необязательно должна быть Ваша фотография). Чтобы была аватарка при оставлении комментария, Вам нужно “привязать” Ваш email (который указывается при комментировании) к картинке. Для этого просто нужно зарегистрироваться на gravatar.com , а дальше, что делать, Вы все поймете сами, я уверен.
  • Уберите возможность оставлять комментарии только зарегистрированным пользователям! Только единицы будут регистрироваться только для того, чтобы оставить комментарий.
    Для этого зайдите в админку WordPress –> Настройки –> Обсуждение и уберите галочку напротив “Пользователи должны быть зарегистрированы и авторизованы для комментирования”:


  • Можно устраивать всякие конкурсы, которые “заставят” оставлять комментарии Вашим читателям. В свое время конкурс, который я провел (напомню, он назывался “ ”), сильно мне помог. Появился некий “костяк”, “скелет” комментариев. То есть, читатели видели, что другие пользователи оставляют комментарии, значит все нормально, можно оставить и им свою лепту. Преодолели некий страх.
    Конечно, всякие конкурсы не каждый хочет устраивать: кому-то жалко денег на призы, для кого-то конкурсы кажутся бредовой идеей, но Вы возьмите себе на заметку, они очень даже эффективные.
    В свою очередь я прошу прокомментировать всего лишь одну статью (я буду Вам благодарен), вот
  • Давненько я ничего не писал про WordPress. Поэтому сегодня я поделюсь с Вами тем, как можно вручную изменить форму комментирования в ВордПрессе. Думаю, что эти знания могут пригодиться любому начинающему блогеру, ведь форма комментирования это, порой, единственное средство общения посетителей и автора. Не проходите мимо:)

    Перед тем, как мы начнем какие-либо манипуляции с кодом, хочу Вас заранее предупредить, что мы будем править файлы самого WordPress’a, а не файлы темы. Да, это может-быть покажется кому-то опасным, кому-то бессмысленным, кому-то просто не понравится:) Но Я сделал это именно так и никаких проблем у меня не возникло. Советую перед началом сделать бекап редактируемого файла.
    Насчет безопасности предупредил, теперь хочу показать результат, к которому я пришел.


    Как мы видим, была убрана строчка «Ваш e-mail не будет опубликован. Обязательные поля помечены *». Не нужно считать посетителей безмозглыми идиотами. Они итак понимают что нужно заполнять, а что нет. Так же я спрятал названия полей внутрь самих полей. К чему эти жирные записи? Большинство посетителей уже и без названий полей может «на глаз» определить, какое к чему относится. Но внутренние хинты все таки должны присутствовать. Ну и подпись к полю комментария утратила свою ненужную жирноту. На мой взгляд, так стало гораздо лучше и свободней.

    Так давайте же скорее все менять! ;)
    Идем в папку своего сайта и находим в нем файл wp-includes/comment-template.php. Ищем в нем строку 1522, да да именно ее. Как я сам ее нашел это целая история, расскажу об этом чуть позже:)
    Итак, открываем файл на редактирование и переходим к 1522 строчке. Сейчас она и следующие (до 1529й) примерно такие:

    $fields = array("author" => "

    " . "" . __("Name") . " " . ($req ? "*" : "") . "

    ", "email" => "", "url" => "

    " . __("Website") . "" . "

    ",);

    Как все просто и понятно. Достаточно просто вырезать все лишнее и немного дописать. Дописывать будет параметр

    Placeholder="Текст подсказки"

    Этот параметр позволяет выводить внутри полей любой текст. Используем его для вывода подсказок:

    "

    " "

    " "

    "

    Удалять же будем строки:

    "

    " . "" . __("Name") . " " . ($req ? "*" : "") "

    " . __("Website") . ""

    Они отвечают за вывод подписей над полями.
    В результате ВСЕХ этих манипуляций, получаем следующее:

    $fields = array("author" => "

    ", "email" => "

    ", "url" => "

    ",);

    Остается только удалить глупую подсказку «Ваш e-mail не будет опубликован. Обязательные поля помечены *». Для этого удаляем строку (примерно 1537):

    "comment_notes_before" => "

    " . __("Your email address will not be published.") . ($req ? $required_text: "") . "

    ",

    Вот вроде бы и все, теперь наша форма стала немного более привлекательной. Надеюсь эта информация кому-то пригодится:)

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

    В 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 - используется для изменения текста на кнопке отправки комментария.
    Шаг 2. Настраиваем форму комментария с помощью функции comment_form

    Теперь настроим нашу форму комментария с помощью передачи аргументов в функцию comment_form .

    В случае, если нам нужно настроить поля в форме комментариев, нужно передать их список в функцию comment_form . По умолчанию для функции используется следующий список полей:

    $fields = array("author" => "

    " . "" . __("Name") . " " . ($req ? "*" : "") . "

    ", "email" => "", "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" => "

    " . "" . __("Name") . " " . ($req ? "*" : "") . "

    ", "email" => "",); $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" => "

    " . "" . __("Name") . " " . ($req ? "*" : "") . "

    ", "email" => "",); $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; ?>

    просмотров