Сайт о WordPress: плагины, функции, хаки, статьи...
WordPress как на ладони

Kama WP Smiles: плагин смайликов для WordPress в постах и комментариях (QIP смайлики)

Смайлик Колобок

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

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

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

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

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

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

Блок смайлов в комментариях:

kama-wp-smile1

Страница настрое плагина в админ-панели:

Страница настроек kama-wp-smile

Блок смайлов в комментариях админ-панели:

kama-wp-smile2

Блок смайликов при написании поста в админ-панели:

screenshot-4

Скачать плагин

Kama Wp Smile
Скачать с каталога WordPress. Последняя версия.
Скачано: 197, размер: 306.2 KB, дата: 06.Фев.2014
  1. Посмотреть плагин в каталоге WordPress.org.

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

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

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

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

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

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

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

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

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

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

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

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

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

Если вы не увидите смайликов, которые бы вы хотели иметь у себя на блоге, не нужно расстраиваться *don-t_mention*. Вы легко можете дополнить/заменить смайлы на свои *yu* . Чтобы дополнить список, всего-то нужно скачать картинки смайликов и залить их в папку плагина "smiles". После этого новые смайлы автоматически появятся в настройках плагина, откуда вы простым кликом сможете добавить их в ротацию.

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

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

Расширить или собрать комплект смайликов можно, например тут, у автора стиля колобок.

Фильтрация

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

$text = "Пробный текст *good*";
$text = preg_replace('@\*[a-z0-9-_]{0,15}\*@', '', $text);
echo $text;

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

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

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

Обновления

Версия 1.6.6.1 (6. сен. 2014)

Адаптация под WordPress 4.0. С предыдущими версиями также работает вплоть до 3.6 ниже не проверял.

Версия 1.6.0 (24.01.2014)

  1. Теперь, смайлики в блоке с выбором смайликов не выводятся как картинки, и не подгружаются автоматически при загрузке страницы, а подгружаются при наведении на блок со смайликами. Экономим на запросах к серверу при загрузке страницы.
  2. Сделал более удобный выбор смайликов в админ-панели.
  3. Изменил код вывода смайликов и принцип вставки блока в форму комментирования.
  4. Убрал файл стилей (style.css) и файл со скриптами JS. Теперь все находится внутри плагина и подключается сразу в HTML документ (там несколько строк). Стили можно настроить в админ-панели или перенести.
  5. Добавил смайлики в HTML редактор в админ-панели. Теперь можно удобно вставлять смайлики в админке, при ответе на комментарий или написании поста.
  6. Добавил удаление всех настроек и кодов смайликов из текстов постов, при удалении плагина. Теперь можно поставить плагин и удалить его, без опаски, что он что-то после себя оставит.
  7. Улучшил код.

Версия 1.5.0

  • Добавил возможность указывать HTML теги, внутри которых не нужно заменять вхождения на смайлики.
Kama WP Smiles: плагин смайликов для WordPress в постах и комментариях (QIP смайлики) Комментариев: 120
Полезные Вопросы Спасибо Все
  • 103
    Анастасия → rat-felt.ru

    Добрый день. А не знаете, почему могут перестать отображаться смайлики? sad

    Ответить
    +1
    -1
    29.Сен.2014 в 12:41 #
    • 104
      Kama416

      Нет, не знаю. Где не показываются?

      Ответить
      +1
      -1
      29.Сен.2014 в 12:49 #
      • 107
        Анастасия

        Не отображается вместе с текстовым полем для комментирования как только включаю w3 total cache

        Ответить
        +1
        -1
        06.Окт.2014 в 14:25 #
        • 108
          Kama416

          Смайлики через javascript подключаются к полю, возможно работа скрипта ломается как-то... У меня стоит плагин сжатия скриптов - плагин работает нормально...

          Ответить
          +1
          -1
          06.Окт.2014 в 14:58 #
  • 105
    Андрей

    Здравствуйте. Не подскажите, есть ли возможность подружить ваш плагин с комментариями Jetpack?

    Ответить
    +1
    -1
    30.Сен.2014 в 18:09 #
  • 109
    Автобус → nika-bus.com.ua/gruzrpassazhirskij-mikroavtobus-sprinter
    @

    Здравствуйте. Установил плагин, все работает в отличии от многих других, НО... Не смайлики не кликаются. После выбора смайла и клика по нему ничего не происходит. Не подскажите в чем дело.? Очень нравятся эти смайлы и форма вывода, только не кликабельны.. Как на пример у вас, у вас работает...

    Ответить
    +1
    -1
    21.Ноя.2014 в 14:45 #
    • 110
      Kama416

      Можно посмотреть сайт? Или напишите мне в аську 760766

      Ответить
      +1
      -1
      21.Ноя.2014 в 15:10 #
  • 111
    Мария → www.egyptianwife.ru

    Плагин не был активирован, потому что он вызвал фатальную ошибку.

    Parse error: syntax error, unexpected T_FUNCTION in /var/www/reddy116/data/www/egyptianwife.ru/wp-content/plugins/kama-wp-smile/kama_wp_smiles.php on line 17

    Помогите, пожалуйста! После обновления плагин перестал работать!

    Ответить
    +1
    -1
    02.Дек.2014 в 14:22 #
    • 112
      Kama416

      У вас на сервере старая версия php, рекомендую обновить до 5.3+

      Чтобы решить проблему, откройте файл /wp-content/plugins/kama-wp-smile/kama_wp_smiles.php и измените там:

      register_activation_hook( __FILE__, function(){ Kama_Wp_Smiles::instance()->activation(); } );

      на

      register_activation_hook( __FILE__, create_function('','Kama_Wp_Smiles::instance()->activation();') );

      Отпишитесь что получилось, обновлю плагин если ошибка пропадет.

      Ответить
      +1
      -1
      02.Дек.2014 в 15:19 #
Форма комментирования