Форма смайлов к комментариям на WordPress

5563

Возможность добавления смайлов к комментарию по клику является спорной, но их присутствие всё же скрашивает унылость и добавляет изюминку. Сегодня мы разберем на наглядном примере, как «запилить» смайлы под форму комментариев.

Форма смайлов к комментариям на WordPress

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

Как можно добавить смайлы в комментарии?

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

2. Редактор кода вручную. Здесь нам понадобится готовый код, потому как вы пришли сюда именно за ним. вряд ли умея писать свои коды, вы оказались бы тут ;)

Замена стандартных смайлов

Кстати, видите, что смайл выше уже заменен, и выводится совсем не в стандартном формате? Всему этому поспособствовала уже замена стандартных файлов, которые хранятся в директории wp-includes/images/smilies. В эту папку можно скидывать свои смайлы, главное, чтобы тип и имена совпадали, и тогда они будут выводиться на сайте уже совсем в другом обличии.

Ручная корректировка кода

А теперь перейдем к самой правке кода. Всё, что нам понадобится – это вставить уже готовый скрипт(добавляющий код смайла в поле комментария), php код(описание рабочей функции) и блок div(вывод смайлов html). Почему я описал их отдельно? Да потому, что на других блогах этот кусок даётся слитным, и не каждый догадывается, что его можно разделить на отдельные части. А понадобится это в тех случаях, когда в файле comments.php у вас нет вывода формы и она вызывается стандартной функцией. Тогда вам придется идти в папку wm-includes и искать файл comments-template.php.

исходник

А теперь вариант для каждого случая.

1. Комментарии выводятся кодом из файла внутри темы comments.php. В этом случае достаточно найти тег textarea и после закрывающегося вставить готовый кусок кода, который я описал тремя частями.

2. Форма комментариев вызывается стандартной функцией. Для этого открываем файл comments-template.php из директории, которую я упомянул выше, и ищем интересующую нас функцию. Это будет скорее всего массив типа:

$defaults = array()

а в скобках будет передаваться значение:

‘comment_field’=>’’

В кавычках передается html код. Т.е. здесь мы можем вставить наш блок «div», отвечающий за смайлики. Выше переменной $defaults нужно вставить код php. В общей сложности всё может выглядеть вот так:

Код файла comment-template.php

а сам скрипт необходимо вставить в файле comments.php перед строкой вызова формы комментариев:

<?php comment_form(); ?>

Заключение: таким образом, без каких либо дополнительных плагинов мы прикрутили себе смайлы, дабы облегчить общение пользователям ;)

2
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(6 голосов, в среднем: 4.7 из 5)
не скупись ;-) оцени статью
Подписка на обновления:
Автор блога Рябухин Максим

Я фрилансер веб-разработчик. Последние несколько лет занимаюсь версткой и веб-программированием на PHP и Javascript. Если вам понадобится помощь с блогом Wordpress, либо адаптация сайта, я всегда рад помочь.

связаться

Вместе с этим советую почитать:

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
не пытайтесь оскорбить автора, либо участников блога, ваши комментарии все равно не будут промодерированы!
у меня есть сайт

комментариев: 2
  • Amylee

    аааа!! вы меня спасли! спасибо большое и человеческое! если не секрет, как вы реализовали единую кнопочку смайлов в комментах у себя на сайте?

    Ответить
    • Максим Рябухин

      Amylee, рад, что помог вам. ;-)
      реализовал достаточно просто, если вкратце, то с использованием css + html + javascript. :smile:
      А если более детально, то понадобится целая статья ;-)

      Ответить
показать все