Вот недавно задался желанием выделить свои комментарии на блоге. А то все сливается в один. И совсем другое дело, когда каждый твой комментарий выделен. И читателям проще ориентироваться и удобней следить за твоими ответами.
Первым делом полез в Google за решением вопроса: выделение комментариев.
Большинство результатов предлагает скачать плагин для выделения комментариев.
Но этот вариант меня не устраивал по нескольким причинам:
- Я пытаюсь обходиться без плагинов;
- Плагин не дает нужной гибкости;
- Обычно плагины слишком громоздки для решения такой простой задачи;
Поэтому я продолжил поиск решения.
Наткнулся на несколько извращенных вариантов. Которые предлагали, вносит правки в цикл обработки комментариев. Потом на основе этого делать проверку полученных данных и тому подобных действий.
Потом был вариант проверки «Id» пользователей равных единице. Вариант оказался почти рабочим. В древовидных комментариях он выделял мои комментарии выборочно.
И как говорится, кто ищет, тот найдет, я наткнулся на вариант, который меня полностью устроил.
Выделение комментариев
Синтаксис
1 | <?php if ( get_comment_author_email() == get_the_author_email() ) echo adm_; else echo $oddcomment; ?> |
Теперь посмотрим пример, а потом я объясню принцип работы кода.

Вот мой комментарий. Выделение происходит за счет смены цвета полоски в вверху комментария, где выводится так сказать служебная информация. Хотите, можете добавить тени для div или применить transform css.
За внешний вид этой полоски отвечает такая строка:
1 | <div id=”comment_top"> |
Пример:
1 | <div id="<?php if ( get_comment_author_email() == get_the_author_email() ) echo adm_; else echo $oddcomment; ?>comment_top"> |
Теперь разберем код:
1 | if ( get_comment_author_email() == get_the_author_email() |
Здесь мы проверяем, равен ли email адрес в комментарии с email адресом администратора блога.
Если да, то к названию идентификатора id=”comment_top ” добавится приставка “adm_” в итоге выйдет «adm_ comment_top».
А если нет, то название идентификатора id=”comment_top ” останется без изменений.
Теперь все, что нужно добавить новую строку в css файл:
1 2 | #comment_top{background:#E6E9EC;} #adm_comment_top {background:#FFADAD;} |
И вуаля.
Гибкость этого способа в том, что можно менять любую часть комментария.
Если я бы захотел выделить ту часть комментария, в которой пишется текст, то это выглядело бы так:
Пример:
Html
1 | <div id=" <?php if ( get_comment_author_email() == get_the_author_email() ) echo adm_; else echo $oddcomment; ?>comment_text"><?php comment_text() ?></div> |
css
1 2 | #comment_text { background:#E6E9EC;} #adm_comment_text { background:# FFADAD;} |
Соответственно и вы можете так легко выделить свои комментарии, не прибегая к плагинам и громоздким кодам.
На этом все. Удачи!!!
С уважением Тригуба Сергей.
Интересное: Супер тарзанка
Мои групы:
Ну ка-отпиши
Хехе совпадение, я только вчера поставил выделение комментариев с помощью плагина, сейчас попробую без него, спасибо!
Плагины зло
Всё лучше делать самому, напрямую в коде шаблона.
Полностью поддерживаю.
все же не вставиш в шаблон
Классная вещь, давно хотел у себя реализовать на блоге. Жалко вот только что это для вордпресса а не для дле, а то мой блог на дле держится. Сейчас вообще в основном у всех блогеров (популярных) блоги на вордпрессе, говорят что на нем больше всего плагинов. Но не знаю, в самом начале моей деятельности я начинал с движка dle вот и привык к нему и блог сделал на нем, уж щас точно не чего менять не буду. Искал подобную фишку в инете не чего хорошего не нашел...
Я тоже теперь переделаю. Правда и с плагином вроде ничего
Но здесь есть уверенность, что код работает эффективно и не использует лишние ресурсы на решение такой просто задачи.
Ставлю плагин, так как самому просто не хочется лесть в код, как то поднадоело. А вообще идея мне понравилась