Как уже понятно из заголовка, речь пойдет о способе установки собственных смайлов избегая установки плагинов, не люблю использовать сторонние плагины, стараюсь все своими силами делать, ну как своими предварительно подсмотрев у кого-то .
Этот метод действует сразу для всего сайта, заменяя текстовые смайлы на изображения.
К моему удивлению информации в всемирной паутине оказалось не так уж и много, по край мере подробной. И так первое, что нам будет необходимо, так это создать каталог и загрузить туда свои иконки, в частности я создал для себя папку 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; }
Здесь мы задали высоту и ширину автоматом, вполне возможно, что этого будет достаточно или же приодеться сюда вернуться еще раз
На этом установка смайлов окончена, можно себя поздравить, мы без плагина смогли самостоятельно заменить смайлики на свои, действия кода на всем сайте сразу после нашего окончания редактирования.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.