Бурашников Роман Александрович

WordPress — как добавить смайлики в статьи и комментарии

В этой статье мы рассмотрим как заменить смайлики на более приличные, согласитесь - родные смайлики в wordpress'е выглядят, мягко говоря, не очень красиво, а так же добавим возможность использовать смайлики в комментариях без каких-либо плагинов.

Смайлики в WordPress есть по умолчанию, только нужно включить их в настройках. Для - переходим в раздел «Параметры» — «Написание» и включаем опцию:

"Преобразовывать смайлики наподобие : -) и : -P в картинки".

Список всех доступных смайликов в настройках не указан, но его можно найти в кодексе WordPress:

Стандартные смайлики WordPress

Просто при написании статьи используйте указанные в таблице символы. После публикации поста они автоматически будут заменены соответствующей картинкой.

Как включать смайлики разобрались, теперь рассмотрим как поменять смайлики, например на колобков из QIP.
Для этого:

  • Скачиваем архив с колобками себе на компьютер и распаковываем его.
  • Смайлики WordPress лежат на сервере в каталоге /wp-includes/images/smilies. Нужно в ручную подменить стандартные файлы на новые.
  • Если требуется добавить новый смайлик, аналога которому в WP нет, то его еще нужно прописать в файле /wp-includes/functions.php. По умолчанию в нем можно увидеть следующий код:
function smilies_init() {
	global $wpsmiliestrans, $wp_smiliessearch;
 
	// don't bother setting up smilies if they are disabled
	if ( !get_option( 'use_smilies' ) )
		return;
 
	if ( !isset( $wpsmiliestrans ) ) {
		$wpsmiliestrans = array(
		':mrgreen:' => 'icon_mrgreen.gif',
		':neutral:' => 'icon_neutral.gif',
		':twisted:' => 'icon_twisted.gif',
 
                           ...
 
                   ':!:' => 'icon_exclaim.gif',
		   ':?:' => 'icon_question.gif',
		);
	}

Добавляем новую строчку, в которой указываете ключевые символы и соответствующую им иконку. Для удаления смайлика — удаляем строчку, относящуюся к нему, и удаляем иконку из папки.

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

Для того чтобы можно было вставлять смайлики в комментарии - откройте в  редакторе для редактирования файл comments.php вашей темы WP и перед кодом (в зависимости от темы он может меняться):

<textarea name="comment" id="comment" cols="65" rows="10" tabindex="4"></textarea>

вставьте скрипт:

<script type="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:100%; margin-left:30px; margin-right:0px;">'.$dm_showsmiles.'</div>';
?>

Если же смайлики выводятся не там где нужно, удаляем из скрипта строчку :

echo '<div style="width:100%; margin-left:30px; margin-right:0px;">'.$dm_showsmiles.'</div>';

И вставляем её туда, где должны отображаться смайли. В зависимости от темы это место разное. У меня например, в теме Icy, была такая строчка:

'comment_notes_after' => '',

Как раз пустое место зарезервировано для того чтоб можно было что-то вставить в него и это будет выводится между формой ввода комментария и кнопкой отправить. У меня получилась такая строчка:

    'comment_notes_after' => '<div style="width:100%; margin-left:30px; margin-right:0px;">'.$dm_showsmiles.'</div>',

Сохраняем внесённые изменения.

Всё, теперь у нас красивые смайлики из QIP'а которые можно использовать не только в постах, но и в комментариях.

VN:F [1.9.22_1171]
Рейтинг: +1 (голосов: 1), Понравилось: 1, Не понравилось: 0

Поделиться в:
Вы можете поблагодарить автора рублём, за понравившуюся статью, при помощи этой формы (нажать для открытия):

6 комментариев: WordPress — как добавить смайлики в статьи и комментарии

  • У вас-то больше смайлов, вот мне бы и найти целиком все

    VA:F [1.9.22_1171]
    Рейтинг: 0 (голосов: 0)
    • пожалуйста, вот все смайлики которые у меня сейчас стоят - http://burash.ru/wp-content/uploads/2013/08/allsmilies.zip

      а вот моё соотношение ключевых символов и иконок для новых смайликов (вставить как написано в статье про вставку новых смайликов - "Если требуется добавить новый смайлик, аналога которому в WP нет, то его еще нужно прописать в файле /wp-includes/functions.php"):

      ':angel:' => 'aa.gif',
      ':girlkiss:' => 'aj.gif',
      ':obidka:' => 'ao.gif',
      ':musik:' => 'ar.gif',
      ':boykiss:' => 'aw.gif',
      ':rosa:' => 'ax.gif',
      ':good:' => 'ay.gif',
      ':love:' => 'ba.gif',
      ':sos:' => 'bc.gif',
      ':pont:' => 'bd.gif',
      ':yhoo:' => 'bp.gif',
      ':sex:' => 'bs.gif',
      ':rules:' => 'bs7.gif',
      ':sleep:' => 'bs8.gif',
      ':mafia:' => 'bs9.gif',
      ':ohota:' => 'bt.gif',
      ':elf:' => 'bt2.gif',
      ':varvar:' => 'bt3.gif',
      ':zloy:' => 'bt4.gif',
      ':fuck:' => 'bt5.gif',
      ':chertovka:' => 'bt6.gif',
      ':gazeta:' => 'bt7.gif',
      ':chikichiki:' => 'bw.gif',
      ':popkorn:' => 'ca9.gif',
      ':tea:' => 'cb6.gif',
      ':drugan:' => 'cc1.gif',
      ':lovekiss:' => 'cc6.gif',

      VN:F [1.9.22_1171]
      Рейтинг: 0 (голосов: 0)
  • О, респект за оперативность и смайлы! пойду ставить :pont:

    VA:F [1.9.22_1171]
    Рейтинг: 0 (голосов: 0)
    • Не-а, к сожалению, не добавились еще смайлы, только те, что были остались.
      вставлял после // This one transformation breaks regular text with frequency.
      // '8)' => 'icon_cool.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',

      VA:F [1.9.22_1171]
      Рейтинг: 0 (голосов: 0)
      • значит возможно они у вас где-то в вашей теме (шаблоне) прописаны, в этом случае код в теме имеет больший приоритет чем в файле /wp-includes/functions.php.
        В некоторых темах смайлики могут быть прописаны в файле functions.php, smiley.php, либо др. находящихся в папке вашей темы. Поищете в них такой же код, выводящий смайлики, если он есть - значит нужно его дополнять.

        VN:F [1.9.22_1171]
        Рейтинг: 0 (голосов: 0)
  • Спасибо! Действительно, надо было лезть и искать еще файл smiley.php, он спрятался в папке темы!

    VA:F [1.9.22_1171]
    Рейтинг: 0 (голосов: 0)

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Бурашников Роман АлександровичБурашников Роман Александрович
Лучшие записи
Рекомендую
  • Beget - лучший хостинг для сайтов в России
  • Топвизор - проверка позиций сайта в поисковых системах
  • Pozvonim.com - обратный звонок на сайт
  • Модульбанк - лучший банк для предпринимателей
Яндекс Диск 1ГБ дополнительного места