mojwp.ru
Назад

Как добавить в форму комментариев смайлы без плагина

Опубликовано: 22.11.2013
25
937

как добавить смайлы на сайт wordpressСегодня научимся добавлять на сайт смайлики рядом с формой комментирования. Делать это будем без использования плагинов и работает данная штука на сайтах под управлением нашей любимой CMS WordPress.

Предоставим комментаторам на своем сайте больше возможностей...

Вот так выглядят смайлы (на сайте одного из моих клиентов):

смайлы в wordpress без плагина

В самом движке уже встроены эти смайлы. Если в админке сайта проследуете Настройки ► Написание, то увидите:

Как добавить в форму комментариев смайлы без плагина

Кто не хочет заморачиваться с кодом, то может использовать плагин Custom Smilies. Остальные же читают дальше.

Вставляем код смайлов в файл шаблона

Находим у себя в папке с шаблоном файл comments.php (обычно так называют) и вставляем в нужное место следующее:

  $dm_smile) {
if (!in_array($dm_smile,$dm_smiled)) {
$dm_smiled[] = $dm_smile;
$tag = str_replace(' ', '', $tag);
$dm_showsmiles .= ''.$tag.' ';}}
echo '
'.$dm_showsmiles.'
'; ?>

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

Если увидите нечто подобное <?php comment_form(); ?>, то вставив после него код смайлов, они отобразятся снизу за полем ввода комментария и кнопки "Отправить комментарий".

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

У вас он может иметь свои атрибуты. Например:

Вставив код смайлов перед <textarea></textarea> - они появятся перед формой ввода. Вставите за этим тегом - появится снизу.

Стилевое оформление смайлов

Чтобы все было красиво, у вас есть возможность дописать нужные параметры стилей. Если обратили внимание, то блок смайлов обернут в div с class="smiles".

Советую в файл стилей (style.css, css.css) сразу добавить следующий параметр:

.smiles {cursor: pointer;}

Теперь при наведении на смайл курсор примет вид руки, а не обычной стрелки по-умолчанию. Также можете сделать произвольный курсор, о чем я рассказывал в статье Как сделать свой курсор на сайте при помощи CSS.

Кто из вас мог заметить в коде смайлов выше вот такой путь /wp-includes/images/smilies/. Заходите на ftp сайта и далее по указанному адресу: здесь можете заменить стандартные смайлы на свои произвольные. Но:

  • не забудьте сделать их с таким же именем
  • при обновлении движка возможно придется снова заменить смайлы

На этом все. Делимся результатами в комментариях к статье.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Артём
    Опубликовано: 23.11.2013 Ответить на сообщение

    Спасибо за полезный материал, сделал у себя 😉

  • Ольга
    Опубликовано: 24.11.2013 Ответить на сообщение

    Спасибо,все работает. Однако, у меня в некоторых статьях отключено комментирование, а смайлы остаются под статьей - засада. То есть, поля для комментариев нет, а смайлы есть... Подскажите,как можно это исправить?
    Код вставляла после и до него тоже (у меня короткий) comments.php

  • Ольга
    Опубликовано: 24.11.2013 Ответить на сообщение

    Не заметила как правильно код вставить.
    Код смайлов вставлялся до или после

    • Виталий
      Опубликовано: 24.11.2013 Ответить на сообщение

      Не понял: разобрались или нет?
      В любом случае: на сайте есть контакты.

  • Ольга
    Опубликовано: 24.11.2013 Ответить на сообщение

    Я не разобралась, как на Ваш сайт код вставить, чтобы он отображался в комментарии......

    Когда вставила код смайлов в свой comments.php они стали отображаться даже тогда, когда отключены комментарии - вот в этом и засада.

  • Ольга
    Опубликовано: 24.11.2013 Ответить на сообщение

    Вновь не получилось. Строчку внизу вижу, что код надо вписать вручную (ну или через буфер обмена) - не отображается.

  • Junk
    Опубликовано: 26.11.2013 Ответить на сообщение

    Спасибо, давно хотел прикрутить смайлы не нагружая плагинами.
    Будет время попробую.

  • Ольга Суворова
    Опубликовано: 23.01.2014 Ответить на сообщение

    Не нашла у себя ни , ни 🙁

    • Ольга Суворова
      Опубликовано: 23.01.2014 Ответить на сообщение

      Написала Ваши тэги, не прошли, попробую так: <> и <> - нет у меня этого в шаблоне и в папке comments.php

    • Виталий
      Опубликовано: 23.01.2014 Ответить на сообщение

      Добрый день.
      А если найду?)))

  • Вера
    Опубликовано: 08.02.2014 Ответить на сообщение

    А мне такие мелкие мордашки не нравятся. А как вставить крупные смайлики?

    • Виталий
      Опубликовано: 08.02.2014 Ответить на сообщение

      В конце статьи написано где лежат изображения смайлов у вас на сервере. Просто подмените картинки с таким же названием. Однако после обновления WordPress придется эту процедуру снова повторять.

    • Виталий
      Опубликовано: 17.02.2014 Ответить на сообщение

      Нашел простое решение проблемы. Если для вас актуально, то статья по ссылке Как заменить стандартные смайлы WP на свои

  • Stila
    Опубликовано: 13.02.2014 Ответить на сообщение

    У меня вот такая проблема. Может вы знаете решение)
    Если я вставляю смайл, то кнопка "ответить", которая под комментарием, не помещается полностью и видна только половина(

    • Виталий
      Опубликовано: 13.02.2014 Ответить на сообщение

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

  • Галина Шевалер
    Опубликовано: 04.11.2014 Ответить на сообщение

    Все получилось...

    НО есть проблема. Сами смайлики не отображаются после публикации комментария. То есть они преобретают зашифрованный вид. И кстати, смайлики не отображаются и в теле статьи. Не подскажите как исправить ситуацию? Нужно залить свои картинки?

    • Виталий
      Опубликовано: 04.11.2014 Ответить на сообщение

      В админке в боковой консоли Настройки ► Написание. И тут первый пункт сверху будет "Преобразовывать смайлики наподобие 🙂 и 😛 в картинки"

  • Анастасия Савельева
    Опубликовано: 22.03.2015 Ответить на сообщение

    Здравствуйте. У меня в файле comments.php нет тегов . Я все равно пробую вставить код, если я вставляю в самом начале, первой строкой, то смайлики появляются в самом верху. А если добавляю код в любом месте файла или в конце, то и отображаются они под кнопкой "Отправить". А мне надо, чтобы перед полем, где вводится текст.

  • Елена
    Опубликовано: 13.12.2015 Ответить на сообщение

    НЕ РАБОТАЕТ скрипт, при чем встречаю его ни на одном сайте в топе 10, он один и тот же и не работает он реально. Или его исправить или вовсе убрать и советовать плагин просто.

    • Виталий
      Опубликовано: 14.12.2015 Ответить на сообщение

      К вашему большому сожалению, метод РАБОТАЕТ!
      Если есть проблемы с внедрением - обращайтесь за услугами.

  • Евгений
    Опубликовано: 24.08.2016 Ответить на сообщение

    Уменя нет в настройка и написании этого форматирования((( как его добавить??

  • АНТОН
    Опубликовано: 13.02.2017 Ответить на сообщение

    Помогите плиз!! У меня в админке: Настройки -> Написание и все!! Пункта форматирования вообще нет! Что за аномальная консоль, и судя по комментам у меня одного так?? Ну и соответственно смайлы в комментах поставить нельзя.

    • Sergey
      Опубликовано: 16.04.2017 Ответить на сообщение

      Не у вас одного такая проблема - у меня то-же самое, похоже на сбой БД.

      Был совет:
      Итак, находясь у себя в админке, откройте в броузере файл /wp-admin/options.php своего сайта. Не в редакторе или где-то еще, а именно в броузере! Просто подкорректируйте адресную строчку и нажмите Enter. Я думаю, что многие удивятся, когда увидят необычный экран, но это вот такая "хитрая" страничка, на которой отображаются все настройки WordPress в базе данных вашего сайта: Найдите там use_smilies для управления преобразованием смайлов или use_balanceTags для управления автоматическим исправлением некорректного XHTML-кода и проставьте в соответствующих полях 1 или 0. И не забудьте нажать на кнопку "Сохранить" внизу страницы! Этим самым вы исправите настройки этих опций непосредственно в базе данных. По сути 1 и 0 отвечают за отметку галочки в том или ином чек-боксе. После этого всё должно работать в нужном вам варианте.

      Но у меня он не сработал.

  • Марина
    Опубликовано: 15.06.2017 Ответить на сообщение

    Я думаю, что это было аж 3-4 года назад! Всё бежит, всё меняется... Я тоже (месяца 3-4 назад) уже не нашла у себя "настройки форматирования".

  • Марина
    Опубликовано: 15.06.2017 Ответить на сообщение

    Виталий! А где подписка на Ваш сайт? Или я не вижу...

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.