
Всем привет! Продолжаю писать про оптимизацию комментариев в популярном блоговом движке WordPress. Кто не читал предыдущие выпуски, советую почитать: Часть 1, Часть 2, Часть 3.
Сегодня расскажу, как сделать подсветку комментариев автора блога и нумерацию комментариев.
Подсветка комментариев автора блога
Неоднократно на блогах, мне приходилось встречаться с данной функцией. Она меня сразу заинтересовала, но очень долго до реализации не доходили руки. И вот сегодня я установлю эту функцию к на один из своих проектов и расскажу как сделать вам.
Для начала откройте файл comments.php, находящийся в директории вашей темы. В коде файла нужно найти такую строку:
<?php comment_text() ?>
и заменить ее на следующее:
<?php if(get_comment_author() == "admin"){?>
<div><?php comment_text() ?></div>
<?php } else comment_text() ?>
Как видите, первоначальный код остается, плюс к нему добавляется условие, из которого следует, если вы оставите комментарий под ником admin, то будет использоваться отдельный див, то есть оформление. Кстати, имя admin нужно сменить на свое, с помощью которого вы оставляете комментарии на своем блоге. Например, у меня имя author. Значит для меня код будет выглядеть так:
<?php if(get_comment_author() == "author"){?>
<div><?php comment_text() ?></div>
<?php } else comment_text() ?>
Нужно добавить, что в некоторых шаблонах строчек может быть несколько, связано это с древовидностью, все эти строки нужно менять.
Главная часть настройки по внедрению кода закончены. На этом этапе нужно включить фантазию и придумать оформление комментария автора блога.
Заходим в style.css вашей темы, и в самом низу прописываем оформление, использовав класс admin_comment_style то есть получается следующее:
.admin_comment_style
{
/*Здесь прописываем оформление*/
}
Лично я заморачиваться не стал, и задал комментарию только фон и тоненькую обводку, у меня получилось так:
.admin_comment_style {
background: #f8fcef;
border: 1px solid #eee;
}
это только код, а отображается у меня как на картинке.
Не устали еще? Давайте немного отвлечемся и посмотрим цены на лобовое стекло Ford Focus… Посмотрели, теперь идем дальше.

Нумерация комментариев
Функция достаточно популярная, я считаю, что никакой пользы она не дает, но все-таки расскажу ее осуществить.
Опять же нам понадобится уже знакомый файл comments.php. Открываем его и находим строку
<?php if ( $comments ) : ?>
Прямо перед ним добавьте код:
<?php i 0; ?>
он означает, с какой цифры начинать нумерацию комментариев. Если постоянная равна 0, то нумерация будет начинаться с цифры 1, если $i=1, то счет начнется с 2, и т.д.
Далее ищем такой код:
<?php foreach ($comments as $comment) : ?>
и сразу после него добавим строчку:
<?php $i++; ?>
Теперь комментарии будут нумерованы, но цифры еще не появятся, так как нужно вставить код для вывода цифр. Вот этот самый код:
<span class="comm_numbers"> <?php echo $i; ?> </span>
но нужно определиться, где его расположить. Можно рядом с именем автора, можно в правой части панели комментария, здесь уже решать вам. Я приведу пример расположения рядом с именем автора. В comments.php ищем код:
<?php comment_author_link() ?>
и перед ним вставляем наш код вывода. Теперь нужно задать оформление в файле style.css. Можно увидеть, что у кода вывода имеется класс под именем comm_numbers, значит в style.css создаем новый класс comm_numbers, и задаем нужные атрибуты. У меня получилось так:
.comm_numbers {
padding: 3px; /*отступы со всех сторон по 3px*/
font-size:12px; /*размер шрифта*/
color:#000000; /*цвет шрифта*/
}
Ну вот и все. Покажу картинку, как у меня получилось.

Похожие записи:


Оптимизируем форму комментариев в WordPress. Часть 4…
Thank you for submitting this cool story — Trackback from progg.ru…
Очень хорошая и познавательная рубрика, но лично я не вижу никакого смысла в нумеровании комментариев. Замечал данную функцию во многих шаблонах для wp и меня она настораживает немного.
да,и я про тоже. никакой пользы она не несет
Как вариант можно сделать комментарии в виде нумерованного списка.
ну да. тоже можно попробовать
Когда много комментариев от одного и того же человека, то удобней ссылаться по номеру комментария, а не по времени его написания.
ну это если нет древовидных комментариев.
Согласна.
Способ выделить комментарии автора неплох, но имеет один минус: «в некоторых шаблонах строчек может быть несколько, связано это с древовидностью, все эти строки нужно менять».
Есть способ выделить комментарии автора с гораздо меньшей затратой времени на перелопачивание кода. Дело в том, что начиная с WordPress 2.7 разработчиками введен по умолчанию отдельный css класс для комментариев автора поста. Это класс .bypostauthor. Прописываем для него стиль в css — и вуаля, наслаждаемся.
Поскольку уже накатала нехилую простынку, дополню: этот класс выделяет комментарии автора ПОСТА, то еть, если блог ведут несколько человек, то в каждой записи «админскими» будут именно комменты автора записи.
С древовидными комментариями иогда возникает необходимость прописать не просто .bypostauthor, а .commentlist .bypostauthor.
а кстати вчера и этот вариант где-то встретил. в принципе они все не очень сложные.
Спасибо вам добрый человек! Очень познавательная статья, которая помогла мне!
спс, интересная статья.У меня на блоге возникла проблема, может вы поможете разобраться.При добавлении нового комментария, он в админке и в списке «последние комментарии» на главной идёт с сылкой на другую новость (но почему то похожую, с близким ID). Сам текст комментария отображается правильно — к той новости, к которой его писали. Но ВордПресс считает почему-то его комментом к другой новости.

Причём, для зарегистрированных пользователей, всё ок. Работает, как надо. Иногда даже для незарегистрированных.
Пробовал заменять файл wp-content/themes/*theme_name*/comments.php, колупать в «/wp-includes» comment-template — но безуспешно.
Подозреваю, что get_the_ID() почему-то возвращает не тот ID.
Добавляются комментарии в базу данных, как я понял функцией comment_id_fields(). То есть, ошибку нужно искать в функциях, которые вызывает comment_id_fields() — это get_the_ID()…
Что изменить, чтобы они добавлялись правильно, не представляю.
Буду благодарен, если поможете разобраться в этой проблеме.
Продажей приборов контроля веществ занимается наша организация. У нас Вы сможете приобрести переносные и портативные газоанализаторы, кондуктометры, измерители концентрации озона, плотномеры и pH-электроды. В своей работе мы делаем основной упор на работу с конечным потребителем. Доставка товаров производится по всей России. Заходите на сайт, выбирайте и заказывайте!
Gzoanalisator.Ru: [url=http://gazoanalisator.ru]газоанализатор Хоббит Т
[/url]