BloGGood.ru

Блог Костаневича Степана

WordPress, PHP, HTML, CSS, Windows

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

2015-05-02 / Вр:01:56 / просмотров: 5757

Совсем недавно я обновил WordPress. После обновления WordPress на версию 4.2 исчезли стандартные смайлики. И если вы выводили смайлики без плагина (вот таким способом, как в этой статье), вы должны были увидеть у себя на блоге в комментариях что-то подобное, как у меня:

Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

Не беда! Я даже рад, что так случилось. Раньше после каждого обновления приходилось повторно загружать мои смайлики-колобки, чтобы заменить стандартные WordPress. Это немного напрягало. Теперь этот способ, о котором я расскажу далее, даст возможность забыть про это неудобство, так как смайлики будут храниться в папке вашей темы. И еще: можно добавить дополнительно любые смайлики, которые вы скачаете.

Ну, что, поехали?!

Скачайте понравившиеся смайлики:

Колобки мини

Установка смайликов на блог WordPress без плагина.

Скачать Колобки мини

Колобки

Смайлики на блоге WordPress

Скачать Колобки

Смайлики Skype

Смайлики Skype

Скачать Смайлики Skype

 

Теперь в каталоге с названием вашей темы блога создайте папку «smalies» и залейте туда изображения смайлов:

Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

Теперь откройте файл темы «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',

Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

Только не забудьте добавить новый смйлик в папку «smilies». В нашем примере название картинки смайлику будет «ax.gif».

Вот так у меня сейчас выглядит форма для комментариев со смайликами. Там я добавил четыре новых:

Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

19 Ответов на комментарий - Как без плагина установить смайлики и добавить новые для WordPress 4.2 и выше

  1. Тамара Полякова

    Спасибо Степан за интересную и полезную статью. Хорошо, что можно смайлики ставить без плагина!

  2. Avatar photo Степан => автор блога

    Пожалуйста! Здесь можно обойтись и без плагина.

  3. Сергий

    не работает. у меня как были иероглифы так и остались… :|

  4. Avatar photo Степан => автор блога

    Что-то вы не так делаете. Расскажите, как вы устанавливали код и в какие файлы.

  5. Сергий

    смайлы отобразились, забыл папку бросить в папку темы. теперь есть другая проблема, смайлы обведены рамкой, находятся на большом расстоянии от друг друга, и не в одну строчку! подскажите как поправить??? понимаю что через css а не понимаю где, в посте смайлы без рамки. воттакой код в css на смайлы
    img.wp-smiley
    {
    border:none;
    margin:0;
    padding:0;

  6. Avatar photo Степан => автор блога

    Смотрел ваш сайт, там смайлики отображаются отлично. Вот CSS стили для вас:

    .art-article img, img.art-article {
      border: 0px solid;
      margin: 0px;
      padding: 0px;
    }
    
  7. Сергий

    спасибо за подсказку. сам разобрался, вот они и отображаются нормально

  8. Храмовник

    Спасибо, если честно мозг уже себе вынес этим обновлением и сначала вообще сделал бэкап сайта, долго терпел с обновлением, понимаю это рискованно, до Вас пробовал примерно 5 способов. Сработал именно Ваш. :coffe:

  9. Avatar photo Степан => автор блога

    Пожалуйста!

  10. Светлана

    Здравствуйте, после того как редактирую файл «functions.php», вставляя код, сайт перестает работать.

  11. Avatar photo Степан => автор блога

    Здравствуйте, Светлана! Попробуйте установить код в самом начале, перед

    <?php
  12. Анна

    Вроде не запутали, но у меня не получилось установить смайлики после обновления :?:

  13. Анна

    Решила проблему с помощью плагина.

  14. Avatar photo Степан => автор блога

    Проверьте название папки, где находятся смайлики. А также, проверьте, правильно ли вы вставили код и в те ли файлы.

  15. Avatar photo Степан => автор блога

    А как называется плагин? Может кому-то пригодится?

  16. Анна

    Плагин Kama WP Smiles

  17. Avatar photo Степан => автор блога

    Спасибо!

  18. Андрей

    Здравствуйте! А у меня не появляются смайлики, хотя вроде делал все как вы описывали. Не подскажите в чем проблема

  19. Avatar photo Степан => автор блога

    Здравствуйте, Андрей. А что выводит?

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716