Свой дизайн комментариев в WordPress

Чтобы изменить стандартный дизайн комментариев в движке WordPress часто необходимо подправить html код который генерирует движок.

Переводим листинг комментов wp_list_comments на свою функцию hstr_comment:

<ul class="comment-list">
<?php
wp_list_comments( 'type=comment&callback=hstr_comment' );
?>
</ul><!-- .comment-list -->

А в этой функции

В файле functions.php добавляем свою функцию:


function hstr_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>

<li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>" >

<div class="comment-author vcard">
<div class="comment_avatar"><?php echo get_avatar($comment, $size='48' ); ?></div>

<?php printf(__('<span class="fn">%s</span>'), get_comment_author_link()) ?><br />
<span class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('# %1$s O %2$s'), get_comment_date(), get_comment_time()) ?></a> <?php edit_comment_link(__('(Edit)'),' ','') ?></span>
<br class="clear" />
</div>

<?php // if ($comment->comment_approved == '0'){echo '<em>Ваш комментарий ожидает проверки</em>';} ?>

<?php comment_text() ?>

<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>

<?php
}

 

Не забываем подправить css

 


.comment-content a {
word-wrap: break-word;
}
.comment-meta a{text-decoration:none;}

.bypostauthor {
display: block;
}

.comment_avatar {float:left; margin-right:15px;}

.comment-author:after{ content: "";
display: table;
table-layout: fixed; clear:both; }

.comment {margin:0px 0px 50px 0px;}

.reply{ line-height:0px;}

.comment .fn { font-size:26px; line-height:0px; font-style:normal;}

.children { margin:40px 0px 0px 40px;}

putty — не верное отображение символов в MC — qqqqqq

Часто бывает что при заходе на сервер через Putty встречаешь «аброкадабру» вместо букв в Midnight Commander (MC) или неверное отображение псевдографики (линии отображаются qqqqqqqqqqq…) Обычно это решается выставлением правильной кодировки в настройках Putty:

Window -> Translation -> Remote character set

Устанавливаем ту же кодировку что и на удаленном сервере. Обычно это UTF-8

Чтобы узнать какая кодировка используется на сервере вводим ssh команду:

locale

В ответ сервер выдает что-то типа:

LANG=ru_RU.UTF-8
LC_CTYPE=»ru_RU.UTF-8″
LC_NUMERIC=»ru_RU.UTF-8″
LC_TIME=»ru_RU.UTF-8″
LC_COLLATE=»ru_RU.UTF-8″
LC_MONETARY=»ru_RU.UTF-8″
LC_MESSAGES=»ru_RU.UTF-8″
LC_PAPER=»ru_RU.UTF-8″
LC_NAME=»ru_RU.UTF-8″
LC_ADDRESS=»ru_RU.UTF-8″
LC_TELEPHONE=»ru_RU.UTF-8″
LC_MEASUREMENT=»ru_RU.UTF-8″
LC_IDENTIFICATION=»ru_RU.UTF-8″
LC_ALL=

Это значит что кодировка используемая в консоли ru_RU.UTF-8. Выставляем в Putty UTF-8 и все должно заработать нормально.

Однако бывает что в ответ на команду locale сервер выдает:

LC_CTYPE=»POSIX»
LC_NUMERIC=»POSIX»
LC_TIME=»POSIX»
LC_COLLATE=»POSIX»
LC_MONETARY=»POSIX»
LC_MESSAGES=»POSIX»
LC_PAPER=»POSIX»
LC_NAME=»POSIX»
LC_ADDRESS=»POSIX»
LC_TELEPHONE=»POSIX»
LC_MEASUREMENT=»POSIX»
LC_IDENTIFICATION=»POSIX»
LC_ALL=

Это значит что локаль на сервере не настроена.

Чтобы посмотреть предустановленые локали:

locale -a | grep ru

Сервер выдаст что-то типа:

ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8

Видим что необходимая локаль есть ru_RU.utf8

Чтобы настроить использование ее в консоли создаем файл /etc/sysconfig/i18n командой:

touch /etc/sysconfig/i18n

После чего в файл пишем следующие строки:

LANG=»ru_RU.UTF-8″
SUPPORTED=»ru_RU.UTF-8:ru_RU:ru»
SYSFONT=»latarcyrheb-sun16″

Сохраняем файл и выходим из консоли. Заходим снова. И наблюдаем что всее символы отображаются корректно.

Если при использовании команды

locale -a | grep ru

в списке нет необходимой локали. То нужно ее установить командой:

localedef -i ru_RU -f UTF-8 ru_RU.UTF-8

Эта команда извлечет из папки /usr/share/i18n/charmaps файл UTF-8.gz (символьная карта для юникода) и сгенерирует нужный нам файл ru_RU.UTF-8

Нормализация CSS

Добиться одинаковости отображения сайтов различными браузерами можно двумя способами:

1. Стереть все стили(которые используются в браузерах по умолчанию) и далее с чистого листа писать новые — так называемый резет;
2. Нормализовать стили — сделать похожим отображение большинства элементов html, сохраняя полезные свойства браузеров и не обнуляя их.

Хороший код нормализации CSS который используют Twitter, GitHub, Guardian, Bootstrap, Pure и др. это Normalize.css

Это хорошая основа для написания собственных стилей..или просто как дополнение для коссбраузерности уже существующих стилей.

Установка MC

Вобщем не только MC (Midnight Commander). Механизм установки программы такой:
Ищем место расположение ее:
#whereis mc

Сервер ответит
mc: /usr/ports/misc/mc

Если не найдет, то нужно сперва установить порты

Переходим в директорию программы
#cd /usr/ports/misc/mc
Читать далее «Установка MC»