Spreadfirefox Affiliate Button

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

18 февраля
2008 года

Меня попросили рассказать, как сделать так, чтобы ваши собственные комментарии выделялись на странице, то есть выглядели иначе, чем у остальных участников. По умолчанию в WordPress не встроено подобной функции, и нет никакой разницы, кто написал комментарий: автор блога или кто-то другой.

Что делать, если вы хотите, например, сделать фон вашего комментария зеленым?
Как выделить собственные комментарии?

Довольно легкий способ описан в статье How-to style WordPress author comments («Как выделить авторские комментарии»), однако вам придется залезать в файлы WordPress-шаблона.

Итак, ищите файл comments.php (папка wp-content/themes/, подпапка с вашим WordPress-дизайном или «Default»), открывайте его в «Блокноте». Нас интересуют следующие строки.

<li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>">
<cite><?php comment_author_link() ?></cite> пишет:
<?php if ($comment->comment_approved == '0') : ?>

Здесь указано, в каком виде выводить комментарии на странице. Благодаря этому коду комментарий выглядит следующим образом:

<li id="12345">
<cite><span id="editAuthor12345" class="editAuthor post"><a href='http://somelink' rel='external'>Имя автора</a></span></cite> пишет:

Вам нужно заменить строчки

<li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>">

на

<li class="<?php if ($comment->comment_author_email == "author@domain.com") echo 'author'; else echo $oddcomment; ?> item" id="comment-<?php comment_ID() ?>">

Здесь author@domain.com — это ваш почтовый адрес. Вы наверняка помните, что любой человек, написавший комментарий, должен ввести адрес электронной почты. Можно сделать так, чтобы WordPress проверял каждый комментарий и изменял код в зависимости от того, какой именно адрес введен. И если вы введете собственный e-mail, допустим, author@domain.com, то к комментарию будет добавлен другой css-класс. В данном случае, если адрес электронной почты — author@domain.com, то у тэга <li> добавится class="author". Иначе комментарий будет показан без всяких изменений, как обычно. Вам остается изменить css-файл, вставив туда что-нибудь наподобие

.author {background-color : #E1EFDE;}

Комментарий с классом «author» отобразится светло-зеленым. Дерзайте!

Кроме того, для комментариев часто используется класс .alt, и тогда они идут не сплошным списком, а чередуются по стилю в шахматном порядке. Например, белый-серый-белый-серый. Если вы используете шаблон default (по умолчанию), то в результате вышеуказанных действий появляются какие-то странные кавычки, и у вас может пропасть .alt, т.е. этот альтернативный класс. Помогает изменение строчек comments.php

<?php
/* Changes every other comment to a different class */
$oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';
?>

на

<?php if ('alt' == $oddcomment) $oddcomment = '';
else $oddcomment = 'alt'; ?>

Хочу также добавить, что есть разные плагины, например, Highlight Author Comments, но я ни один не пробовала, поэтому не могу посоветовать что-то конкретное.

    Всего комментариев: 3 на запись “Как выделить собственные комментарии”

    1. Тарас пишет:

      Или воспользоваться одним из плагинов:

      BM Comment Highlight

      Comment Highlighter

      )

    2. deerstop пишет:

      Мы не ищем лёгких путей.))

    3. Вместен пишет:

      Весьма интересная статья. Внес Ваш блог в закладки. Спасибо.

    Оставьте отзыв!

    Все комментарии предварительно проверяются администратором. Если ссылка на ваш сайт вызывает у меня сомнения (сайт рекламный, принадлежит не вам и т.п.), комментарий модерацию не пройдет. Пожалуйста, учтите это,прежде чем оставлять сообщение.