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

Этот метод действует сразу для всего сайта, заменяя текстовые смайлы на изображения.

К моему удивлению информации в всемирной паутине оказалось не так уж и много, по край мере подробной. И так первое, что нам будет необходимо, так это создать каталог и загрузить туда свои иконки, в частности я создал для себя папку smilies, которая лежит в корне сайта — sitename.com/smilies/.

Следующим шагом будет редактирование файла functions.php, который можно найти в каталоги вашей темы, к примеру путь:

 wp-content/themes/ИМЯ_ВАШЕЙ_ТЕМЫ/functions.php

И добавить туда, (можно в конец файла перед тегом «?>«, после этого тега код не добавляется!,) следующий код:

/************************************************
	Icon WordPress - Свои иконки
************************************************/
add_filter('smilies_src','custom_smilies_src', 1, 10);

function custom_smilies_src($img_src, $img, $siteurl){
 return site_url( "/smilies/{$img}", __FILE__ );
}

Здесь мы указали новое размещение папки с иконками, теперь наши иконки будут находиться в папке smilies по новому адрессу, к примеру путь к смайлу «:-):-) »  будет выглядеть следующим образом — sitename.com/smilies/icon_smile.gif

Теперь определим список используемых нами иконок, для этого добавляем еще код:

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',
        '8)' => 'icon_cool.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',
       ':!:' => 'icon_exclaim.gif',
       ':?:' => 'icon_question.gif',
 );

 remove_action( 'wp_print_styles', 'print_emoji_styles' );
 remove_action( 'admin_print_styles', 'print_emoji_styles' );
 add_filter( 'the_content', 'classic_smilies_rm_additional_styles', 15 );
 add_filter( 'the_excerpt', 'classic_smilies_rm_additional_styles', 20 );
 add_filter( 'comment_text', 'classic_smilies_rm_additional_styles', 25 );
}

Мы определили свой список иконок и указали соответствие на файл, который лежит в нашем новом каталоге иконок  «smilies«. Так же по мимо списка запретили загрузку стандартных таблиц стилей — «emoji» и установили фильтр для очистки оформления иконок- «style», ибо стандартные параметры нам вряд-ли подойдут к нашим иконкам, так же указали приоритет каждому фильтру, так, как мы не единственные, кто взаимодействует с контентом, не следует устанавливать низкое значение, ибо фильтр может сработать прежде временно не принося желаемого результата.

Теперь добавим сам фильтр :) копипастим следующий код:

function classic_smilies_rm_additional_styles( $content ) {
    
	$search = 'class="wp-smiley"';
	$replace = 'class="wp-smiley"';
	return str_ireplace( $search, $replace, $content );
}

На этом мы работу с functions.php, прекращаем, сохраняем, закрываем и идем редактировать файл — style.css он находиться там же, где и functions.php. Добавляем туда

img.wp-smiley {
	height: auto;
	weight: auto;
}

Здесь мы задали высоту и ширину автоматом, вполне возможно, что этого будет достаточно или же приодеться сюда вернуться еще раз :)

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