mojwp.ru
Назад

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

Опубликовано: 17.02.2014
6
492

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

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

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

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

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

// Ставим свои смайлы
add_filter('smilies_src','custom_smilies_src', 1, 10);
function custom_smilies_src($img_src, $img, $siteurl){
	return 'https://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 технологий? Тогда вы идете в ногу со временем. Молодцы.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Стас
    Опубликовано: 19.02.2014 Ответить на сообщение

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

    • Виталий
      Опубликовано: 19.02.2014 Ответить на сообщение

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

  • Леонид
    Опубликовано: 23.08.2014 Ответить на сообщение

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

  • max
    Опубликовано: 07.11.2014 Ответить на сообщение

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

    • Виталий
      Опубликовано: 08.11.2014 Ответить на сообщение

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

      • Александр Тутуров
        Опубликовано: 20.11.2015 Ответить на сообщение

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

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.