Смайлы в комментариях для блога на WordPress. Добавляем смайлики на WordPress блог без плагинов Смайлики для wordpress в комментариях
И снова здравствуйте!
Не помню точно что натолкнуло меня на мысль установить смайлы на этот сайт. Вроде знакомый устроил мне разбор смайлов в мессенджере «QIP infium», которым я пользуюсь уже не первый год и я загорелся желанием прикрутить смайлики сюда.
Немного поискав подходящий плагин для WordPress, наткнулся на этот , решил использовать его, но не тут-то было - я хотел другой вывод, и хотел упростить проверку на замену символов на смайлики. А еще, мне не нужно было так много смайликов . Все свои желания я конечно мог реализовать, отредактировав вышеупомянутый плагин, но я как-то, почти случайно, начал писать свой код, который в итоге превратился в плагин, вроде довольно удачный
О плагине смайликов для WordPressЧто делает плагин:
- заменяет стандартные смайлики WordPress, на смайлики из QIP.
- добавляет список смайликов к полю комментирования. Какие смайлики попадут в список указывается в настройках.
- добавляет смайлики в админ-панель, где можно легко их вставлять при ответе на комментарии или написании поста.
- упрощает поиск и замену кодов смайликов в тексте.
Расскажу немного о настройках
Ручная вставка блока смайликов в форму комментированияПлагин автоматически добавляет смайлики к форме комментариев (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+" ";
}