Смайлы в комментариях для блога на WordPress. Добавляем смайлики на WordPress блог без плагинов Смайлики для wordpress в комментариях

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

Не помню точно что натолкнуло меня на мысль установить смайлы на этот сайт. Вроде знакомый устроил мне разбор смайлов в мессенджере «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 блогах без плагинов.

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

В конце концов я решил воспользоваться стандартной возможностью WordPress, изменив сами иконки смайликов на свои .

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

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

Колобки мини ()

Колобки ()

Итак, после того, как вы скачали новые иконки, необходимо заменить ими стандартные. Стандартные смайлики находятся в папке wp-includes/images/smilies/ . Следите только за тем, чтобы имена старых иконок совпадали с именами новых, а также совпадало их содержание.

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

Для того, чтобы вывести список смайликов, есть специальная функция:

function addsmile($smile){ document.getElementById("comment").value=document.getElementById("comment").value+" "+$smile+" "; }

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: