Как заменить стандартные смайлы WP на свои

Хотите заменить стандартные смайлы WordPress на свои произвольные, при этом без плагина и необходимости править файлы движка? Используйте представленный в статье код.

Подобное решение позволит сохраняться всем изменениям даже при обновлении WordPress, т.к. код будем помещать в файл шаблона.

Недавно публиковал статью Как добавить в форму комментариев смайлы без плагина. Один из читателей блога обратился вчера с просьбой не только внедрить их на сайт, но и заменить стандартные на свои - произвольные, под тему сайта.

Вариант с правкой движка не подходил (по понятной причине). Поэтому пришлось искать решение, с которым сейчас делюсь, чтобы и для себя была памятка на будущее.

Открываем functions.php (расположен в папке с шаблоном) и сразу после <?php (с новой строки) вставляем код:

// Ставим свои смайлы
add_filter('smilies_src','custom_smilies_src', 1, 10);
function custom_smilies_src($img_src, $img, $siteurl){
	return 'http://mojwp.ru/wp-content/themes/mojwpthemes/images/'.$img.$type.'';
}
global $wpsmiliestrans;
$wpsmiliestrans = get_option('clcs_smilies');
if ($wpsmiliestrans == false) {
	$wpsmiliestrans = array(
	        ':mrgreen:' => 'icon_mrgreen.gif',
		':neutral:' => 'icon_neutral.gif',
		':twisted:' => 'icon_twisted.gif',
		  ':arrow:' => 'icon_arrow.gif',
		  ':shock:' => 'icon_eek.gif',
		  ':smile:' => 'icon_smile.gif',
		    ':???:' => 'icon_confused.gif',
		   ':cool:' => 'icon_cool.gif',
		   ':evil:' => 'icon_evil.gif',
		   ':grin:' => 'icon_biggrin.gif',
		   ':idea:' => 'icon_idea.gif',
		   ':oops:' => 'icon_redface.gif',
		   ':razz:' => 'icon_razz.gif',
		   ':roll:' => 'icon_rolleyes.gif',
		   ':wink:' => 'icon_wink.gif',
		    ':cry:' => 'icon_cry.gif',
		    ':eek:' => 'icon_surprised.gif',
		    ':lol:' => 'icon_lol.gif',
		    ':mad:' => 'icon_mad.gif',
		    ':sad:' => 'icon_sad.gif',
		      '8-)' => 'icon_cool.gif',
		      '8-O' => 'icon_eek.gif',
		      ':-(' => 'icon_sad.gif',
		      ':-)' => 'icon_smile.gif',
		      ':-?' => 'icon_confused.gif',
		      ':-D' => 'icon_biggrin.gif',
		      ':-P' => 'icon_razz.gif',
		      ':-o' => 'icon_surprised.gif',
		      ':-x' => 'icon_mad.gif',
		      ':-|' => 'icon_neutral.gif',
		      ';-)' => 'icon_wink.gif',
		// This one transformation breaks regular text with frequency.
		//     '8)' => 'icon_cool.gif',
		       ':(' => 'icon_sad.gif',
                       ':)' => 'smiles.png',
		       ':?' => 'icon_confused.gif',
		       ':D' => 'icon_biggrin.gif',
		       ':P' => 'icon_razz.gif',
		       ':o' => 'icon_surprised.gif',
		       ':x' => 'icon_mad.gif',
		       ':|' => 'icon_neutral.gif',
		       ';)' => 'icon_wink.gif',
		      ':!:' => 'icon_exclaim.gif',
		      ':?:' => 'icon_question.gif',
	);
}

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

Обращаю внимание: вставив данный код, старые смайлы уже не будут работать на сайте. В идеале все же для каждой строки проставить свою картинку.

Если не хотите копаться в коде, то используйте плагин Kama WP Smiles, который внедрит на ваш сайт смайлы в стиле мессенджера QIP. Минимум настроек и вы получаете требуемый результат.

Поясняю что в коде править

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

Далее пошли строки вида:

':-(' => 'icon_sad.gif',

Вначале в кавычки берется сам символьный вид смайла, а затем прописано название картинки с разрешением icon_sad.gif.

Все что вам нужно сделать - это:

  • закачать свои произвольные смайлы на сервер
  • указать путь до папки со смайлами в коде выше
  • прописать названия смайлов в соответствующих строках

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

Минута на саморазвитие

Являетесь поклонником современных hi-tech технологий? Тогда вы идете в ногу со временем. Молодцы.

Привет. Меня зовут Виталик и я автор этого блога, а так же Магазина WordPress https://wp-r.ru/.

Отблагодарить Z888279575784 R109400923968 или ЯД 41001651742138

Оказываю услуги по созданию и настройке сайтов на WordPress (верстка, натяжка).

Мои Контакты. Я в Twitter @mojWP. Смотри на Youtube. Читай RSS блога.

Опубликовано 6 комментариев
  1. Стас (1 комм.):

    А как называется плагин, который показывает 5 share buttons (вк, твитер, гугл+, ок, мир, фейсбук) в правом верхнем углу вашего каждого поста?
    Спасибо!

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Это не плагин, а скрипт от Yandex

  2. Леонид (1 комм.):
    http://business-stimulator.ru

    Виталий здравствуйте, а как поменять порядок расположения смайлов? Можно ли как-то конкретно задать, чтобы такой-то смайл стоят самый первый, другой на втором месте, а другой на 10?

  3. max (4 комм.):

    все сделал но не работает в чем причина

    • Виталий (1674 комм.):
      http://mojWP.ru/

      Машина не заводится. Не знаете в чем причина?

      • Александр Тутуров (1 комм.):
        http://mnogokonkursov.ru

        Знаю! Бензина нет :mrgreen:

Не держи в себе. Выскажись.

Ваш e-mail не будет опубликован. Обязательные поля помечены *

© 2011-2016 | mojwp.ru | Копирование материала разрешено только с письменного согласия
WordPress: 12.69MB | MySQL:67 | 0,407sec
Премиальные плагины для CMS WordPress
Магазин WordPress WP-R.ru
Спасибо, не показывайте мне эту штуку больше!
Смотри мои обучающие видео на YouTube
Иван только что купил плагин ELT
https://wp-r.ru/plaginy/elt.html