Смайлы в комментариях wordpress. Плагин смайлов qip smiles

И снова здравствуйте!

Не помню точно что натолкнуло меня на мысль установить смайлы на этот сайт. Вроде знакомый устроил мне разбор смайлов в мессенджере «QIP infium», которым я пользуюсь уже не первый год и я загорелся желанием прикрутить смайлики сюда.

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

О плагине смайликов для WordPress

Что делает плагин:

  • заменяет стандартные смайлики WordPress, на смайлики из QIP.
  • добавляет список смайликов к полю комментирования. Какие смайлики попадут в список указывается в настройках.
  • добавляет смайлики в админ-панель, где можно легко их вставлять при ответе на комментарии или написании поста.
  • упрощает поиск и замену кодов смайликов в тексте.
Настройки Kama WP Smiles

Расскажу немного о настройках

Ручная вставка блока смайликов в форму комментирования

Плагин автоматически добавляет смайлики к форме комментариев (textarea). Однако может получиться так, что нормально встроить список у плагина не получиться. В таком случае, вы можете вставить блок смайликов вручную, в любое место шаблона. Для этого оставьте поле "Авто-вставка смайлов" в настройках пустым, так вы отключите авто-вставку, и при помощи php кода вставьте блок в нужное место шаблона (обычно где-то в файле comments.php):

Этот код выведет блок смайликов.

HTML теги исключения

В этой настройке можно указать HTML теги, текст в которых не будет обрабатывался плагином. Например, если там указать code , то следующий код не будет обработан плагином:

улыбочка:) .

Теги нужно указывать через запятую.

Специальные обозначения смайликов (смайлики исключения)

По умолчанию смайлики определяются в тексте по коду (:название_файла_смайлика:) , но есть исключения. Например смайлик обозначается как:-) или:) или =) , а его родной код (:smile:) . По умолчанию 3 таких исключения: :) :(:D . Такое ограничение связано с небольшой оптипизацией... Такие исключения можно настроить в плагине.

Редактируем внешний вид

Если вас не устраивает как выглядит список смайликов, то его можно отредактировать, при условии что вы знаете css, для этого нужно изменить CSS правила в поле "CSS стили". Чтобы стили не хранились в настройках, стили можно скопировать в свой файл стилей, при этом удалить их из настроек.

Установка своего комплекта смайлов

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

Чтобы дополнить список, всего-то нужно создать рядом с папкой плагина папку kama-wp-smile-packs и добавить в нее свой комплект смайликов-картинок. Т.е. в итоге у вас должна получиться такая папка с картинками смайликов: /wp-content/plugins/kama-wp-smile-packs/mypack/*.gif . После создания такой папки, нужно зайти в настройки и выбрать новый появившейся пакет смайликов.

В тексте записи будет использоваться конструкция (:название_файла:) . Например, если вы добавите картинку emotion.gif в тексте этот смайл будет вставляться как (:emotion:) .

В названии файлов допускаются только нижний регистр латинских букв a-z , цифры 0-9 , знаки - и _ . Если файл имеет какие то другие знаки, то он не будет работать.

Фильтрация - удаление кода смайликов из текста

Если нужно где-то отфильтровать текст (не показывать код смайликов), то примените такой фильтр:

$text = "Пробный текст (:good:)"; $text = preg_replace("/\(:{0,15}:\)/", "", $text); echo $text; // вернет: Пробный текст

Как встроить плагин в другие поля, например в BbPress, Quick Chat

Плагин по умолчанию работает только для комментариев и записей. Если нужно «прикрутить» его куда-то еще, то вам пригодятся следующие функции и немного знаний css:

  • kws_get_smiles_html($textarea_id) - выводит блок смайликов для textarea
  • kws_convert_smiles($content) - обрабатывает контент на выходе, чтобы сделать из кодов смайлов картинки

В случае внезапных проблем, глюков, багов и «ещечего» или если просто появится желание написать что-то примерно такое - , пишите в комментарии

Здравствуйте! С Вами снова я, автор Блога Свободного Вебмастера и сегодня речь пойдет о смайликах на Вордпресс . Смайлики уже давно завоевали свою популярность. Это отличный способ выразить свои эмоции и порой достаточно использовать всего лишь один смайл чтобы выразить свои чувства.

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

Стандартные смайлики wordpress

Здесь можно пойти двумя путями.

  • Первый — это установить плагин, который автоматически заменит стандартные смайлы на другие. Но слишком много активных плагинов замедлит работу блога, увеличит нагрузку на сервер. К тому же плагины зачастую добавляют свои таблицы в базу данных MySQL, а при удалении не всегда чистят за собой эту базу и приходится , через панель phpMyAdmin.
  • Второй путь позволит избежать таких неприятностей, к тому же позволит лучше изучить работу WordPress. Он подразумевает под собой ручное редактирование.

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

Ничего переименовывать не нужно, осталось лишь заменить этими стандартные и готово. С этим вопросом разобрались.

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

вставить следующий код:

function addsmile ($smile )