WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Kama WP Smiles

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

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

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

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

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

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

Настройки Kama WP Smiles

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

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

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

<?php echo kws_get_smiles_html( 'id_формы_комментирования' ); ?>

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

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

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

<code>улыбочка :)</code>.

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

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

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

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

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

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

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

Чтобы дополнить список, всего-то нужно создать рядом с папкой плагина папку 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('/\(:[a-z0-9-_]{0,15}:\)/', '', $text );
echo $text;

// вернет: Пробный текст

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

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

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

--

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

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

Спасибо за внимание thank_you

229 комментов
Полезные 9 Вопросы 2 Все
  • @ Виктор

    Доброго времени суток! Отвозился сегодня всю ночь, но вопрос так и не решил. sad
    Подскажите, пожалуйста, как вывести смайлы в визуальном редакторе, как это реализовано в админке?

    echo kws_get_smiles_html( 'id_формы_комментирования' );
    • таким образом не получается, выводится лишь смайлик, больше ничего не работает. unknw
    Ответить1.3 года назад #
  • Tks your plugin...
    Hi, have question: how to Choose multiple packs. Eg: Cat, Dogs,...and when users comment...They can switch packages
    I don't know Russian...sorry...

    Ответить1.3 года назад #
  • В PHP 7.4 выходит ошибка
    Deprecated: Array and string offset access syntax with curly braces is deprecated in plugins\kama-wp-smile\class.Kama_WP_Smiles.php on line 105
    Вот эта строчка:
    if( $pat{0} == ';' )
    если я не ошибаюсь, то нужно сделать так:
    if( $pat[0] == ';' )
    поправьте меня, если это не так.
    спасибо.

    1
    Ответить6 мес назад #
  • @ Лян Николай aquariumistika.com

    Приветствую! У меня вопрос такой: хотел отключить на сайте emoji, так как для увеличения скорости работы сайта, хоть и незначительной, многие рекомендуют это выполнить. Однако не хочется оставаться без смайлов. Будет ли работать ваш плагин, колобки, с отключеными emoji? Спасибо pardon

    Ответить3 мес назад #
  • @ Лян Николай aquariumistika.com

    После деактивации и удаления плагина говорят остаются следы. Как от них избавиться?

    Ответить3 мес назад #
    • Kama7773

      Кто говорит, какие следы остаются?

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

      Потратил и без того ограниченное время из-за вашего комментария sad

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

      1
      Ответить3 мес назад #
      • @ Лян Николай aquariumistika.com

        Здравствуйте! Спасибо большое за ответ и потраченное время! blush good Выше был вопрос связанный с плагином wp-recall, в нем и дело. В их дополнении чата и форме публикации не отображаются ваши смайлики, хотя через плагин Classic Smilies они заменяются везде. Я не разбираюсь в css и поэтому не могу найти способ вкрутить код в нужное место.

        И второй вопрос: возможно ли получить вашу помощь? Конечно не за бесплатно. laugh

        Ответить3 мес назад #
  • Андрей

    Здравствуйте. Как сделать чтобы смайлы отображались в виджете "Последние комментарии"?

    Ответить3 мес назад #
    • Kama7773

      В стандартном виджете контент комментария вроде бы не показываться, как там можно смайлики отображать при этом?

      Если кастомный виджет, то надо прогнать контент коммента через функцию

      $content = kws_convert_smiles( $content );

      Выше это вроде бы написано...

      Ответить3 мес назад #