Совсем недавно я обновил WordPress. После обновления WordPress на версию 4.2 исчезли стандартные смайлики. И если вы выводили смайлики без плагина (вот таким способом, как в этой статье), вы должны были увидеть у себя на блоге в комментариях что-то подобное, как у меня:
Не беда! Я даже рад, что так случилось. Раньше после каждого обновления приходилось повторно загружать мои смайлики-колобки, чтобы заменить стандартные WordPress. Это немного напрягало. Теперь этот способ, о котором я расскажу далее, даст возможность забыть про это неудобство, так как смайлики будут храниться в папке вашей темы. И еще: можно добавить дополнительно любые смайлики, которые вы скачаете.
Ну, что, поехали?!
Скачайте понравившиеся смайлики:
Колобки мини
Колобки
Смайлики Skype
Теперь в каталоге с названием вашей темы блога создайте папку «smalies» и залейте туда изображения смайлов:
Теперь откройте файл темы «comments.php». Найдите в файле вот такой код:
<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
Перед ним вставьте вот этот код:
<script> function addsmile($smile){ document.getElementById('comment').value=document.getElementById('comment').value+' '+$smile+' '; } </script> <?php global $wpsmiliestrans; $dm_showsmiles = ''; $dm_smiled = array(); foreach ($wpsmiliestrans as $tag => $dm_smile) { if (!in_array($dm_smile,$dm_smiled)) { $dm_smiled[] = $dm_smile; $tag = str_replace(' ', '', $tag); $dm_showsmiles .= '<img src="'.get_template_directory_uri().'/smilies/'.$dm_smile.'" alt="'.$tag.'" onclick="addsmile(\''.$tag.'\');"/> '; } } echo '<div style="width:100%; margin-left:0px; margin-right:0px;">'.$dm_showsmiles.'</div>'; ?>
Внимание, если в файле присутствовал этот код:
<script ENGINE="text/javascript"> function addsmile($smile){ document.getElementById('comment').value=document.getElementById('comment').value+' '+$smile+' '; } </script> <?php global $wpsmiliestrans; $dm_showsmiles = ''; $dm_smiled = array(); foreach ($wpsmiliestrans as $tag => $dm_smile) { if (!in_array($dm_smile,$dm_smiled)) { $dm_smiled[] = $dm_smile; $tag = str_replace(' ', '', $tag); $dm_showsmiles .= '<img src="'.get_bloginfo('wpurl').'/wp-includes/images/smilies/'.$dm_smile.'" alt="'.$tag.'" onclick="addsmile(\''.$tag.'\');"/> '; } } echo '<div style="width:95%; margin-left:0px; margin-right:0px;">'.$dm_showsmiles.'</div>'; ?>
то удалите его!
Если тут я вас немного запутал, пишите в комментариях.
Теперь переходим к файлу «functions.php». Перед символом «?>» (в самом конце) добавьте во такой код:
// Задаем новое расположение изображений по умолчанию function classic_smilies_src( $old, $img ) { $mythemes = get_template(); return site_url( "/wp-content/themes/$mythemes/smilies/{$img}", __FILE__ ); } // Возвращаем сопоставление символов файлам add_action( 'init', 'classic_smilies_init', 1 ); function classic_smilies_init() { global $wpsmiliestrans; $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', '8O' => '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', ':!:' => 'icon_exclaim.gif', ':?:' => 'icon_question.gif', ); add_filter( 'smilies_src', 'classic_smilies_src', 10, 2 ); // Отключаем загрузку скриптов и стилей Emoji remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', 'classic_smilies_rm_tinymce_emoji' ); add_filter( 'the_content', 'classic_smilies_rm_additional_styles', 11 ); add_filter( 'the_excerpt', 'classic_smilies_rm_additional_styles', 11 ); add_filter( 'comment_text', 'classic_smilies_rm_additional_styles', 21 ); } // Отключаем Emoji в визуальном редакторе TinyMCE function classic_smilies_rm_tinymce_emoji( $plugins ) { return array_diff( $plugins, array( 'wpemoji' ) ); } // Убираем размеры смайликов равные 1em (новые задаются для класса .wp-smiley) function classic_smilies_rm_additional_styles( $content ) { return str_replace( 'class="wp-smiley" style="height: 1em; max-height: 1em;"', 'class="wp-smiley"', $content ); }
Вот и весь процесс по установке смайликов на WordPress без плагина.
Как добавить новый смайлик на WordPress?
Чтобы добавить новые смайлики, достаточно вставить в файл «functions.php» к остальным смайликам
':mrgreen:' => 'icon_mrgreen.gif', ':neutral:' => 'icon_neutral.gif', ':twisted:' => 'icon_twisted.gif', ':arrow:' => 'icon_arrow.gif', ':shock:' => 'icon_eek.gif', ':!:' => 'icon_exclaim.gif', ':?:' => 'icon_question.gif',
вот такой шаблон:
':название смайлика:' => 'название картинки.gif',
Вот пример:
':rose:' => 'ax.gif',
Только не забудьте добавить новый смйлик в папку «smilies». В нашем примере название картинки смайлику будет «ax.gif».
Вот так у меня сейчас выглядит форма для комментариев со смайликами. Там я добавил четыре новых:
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 329815 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274369 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 220443 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186394 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 181501
19 Ответов на комментарий - Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше
Добавить комментарий
Метки: wordpress, без плагинов
Спасибо Степан за интересную и полезную статью. Хорошо, что можно смайлики ставить без плагина!
Пожалуйста! Здесь можно обойтись и без плагина.
не работает. у меня как были иероглифы так и остались…
Что-то вы не так делаете. Расскажите, как вы устанавливали код и в какие файлы.
смайлы отобразились, забыл папку бросить в папку темы. теперь есть другая проблема, смайлы обведены рамкой, находятся на большом расстоянии от друг друга, и не в одну строчку! подскажите как поправить??? понимаю что через css а не понимаю где, в посте смайлы без рамки. воттакой код в css на смайлы
img.wp-smiley
{
border:none;
margin:0;
padding:0;
Смотрел ваш сайт, там смайлики отображаются отлично. Вот CSS стили для вас:
спасибо за подсказку. сам разобрался, вот они и отображаются нормально
Спасибо, если честно мозг уже себе вынес этим обновлением и сначала вообще сделал бэкап сайта, долго терпел с обновлением, понимаю это рискованно, до Вас пробовал примерно 5 способов. Сработал именно Ваш.
Пожалуйста!
Здравствуйте, после того как редактирую файл «functions.php», вставляя код, сайт перестает работать.
Здравствуйте, Светлана! Попробуйте установить код в самом начале, перед
Вроде не запутали, но у меня не получилось установить смайлики после обновления
Решила проблему с помощью плагина.
Проверьте название папки, где находятся смайлики. А также, проверьте, правильно ли вы вставили код и в те ли файлы.
А как называется плагин? Может кому-то пригодится?
Плагин Kama WP Smiles
Спасибо!
Здравствуйте! А у меня не появляются смайлики, хотя вроде делал все как вы описывали. Не подскажите в чем проблема
Здравствуйте, Андрей. А что выводит?