Сегодня мы поговорим о том как сделать внешний вид ваших комментариев намного лучше, убрать спам, а также о множестве других хаков для комментариев на wordpress
1. Добавляем нумерацию для комментариев
Вам нужно будет найти в файле comments.php вашей темы строку
<?php foreach ($comments as $comment) : ?>
И перед ней вставить код
<?php $i = 0; ?>
а после неё такой код
<?php $i++; ?>
Теперь можно будет использовать функцию для вставки номера комментария
<?php echo $i; ?>
2. Как удалить весь спам с базы данных
Бывает такая фигня, что вы открыли сайт, а забыли поставить туда какой-нибудь плагин против спама, за 1 месяц у вас может собраться спама более 1000 и удалять его ручками – долго. Для того, чтобы сделать быстро – зайдите в панель управления вашей базой phpmyadmin и нажмите на вкладке SQL, далее выполните следующую команду
DELETE from wp_comments WHERE comment_approved = '0';
3. Подсветка комментариев администратора
Откройте comments.php и найдите строку
<li class='<?php echo $oddcomment; ?>' id=”comment…
замените её на
<li class='<?php /* Only use the authcomment class from style.css if the user_id is 1 (admin) */ if (1 == $comment->user_id) $oddcomment = 'authcomment'; echo $oddcomment; ?>' id=”comment…
Теперь вам доступен класс, которым можно выделить комменты админа
.authcomment {
background-color: #B3FFCC !important;
}
4. Чередование цветов для комментариев
Откройте css файл вашей темы и поместите где-то внизу:
.color1 {
background-color: #DBDBDB;
}
.color2 {
background-color: #EEEEEE;
}
В самом верху comments.php, поместите.
<?$i;?>
Далее найдите
<?php foreach ($comments as $comment) : ?> <div class="commentbox"> <div class="commentid">
И замените на
<?php foreach ($comments as $comment) : ?> <div id="commentbox" class="<?=($i%2)?"color1":"color2";$i++;?>"> <div class="commentid">
Все, теперь фон комментариев будет меняться, а значит легче восприниматься
5. Функция последние комментарии
Есть много плагинов выводящих последние комментарии, но зачем нам плагины, если можно сделать проще. Добавляем в functions.php вашей темы.
<?php
function recent_comments($src_count=10, $src_length=60, $pre_HTML='<ul>', $post_HTML='') {
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,
SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC
LIMIT $src_count";
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
foreach ($comments as $comment) {
$output .= "<li><a href=\"" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "\" title=\"on " . $comment->post_title . "\">" . strip_tags($comment->com_excerpt) ."...</a></li>";
}
$output .= $post_HTML;
echo $output;
}
?>
Теперь доступна функция с помощью которой можно выводить последние комментарии где угодно
<?php recent_comments(); ?>
6. Отделяем трекбеки от комментариев
Откройте comments.php, и найдите код
<?php foreach ($comments as $comment) : ?>
После него вставьте следующее
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>
Теперь найдите
<?php endforeach; /* end for each comment */ ?>
И перед ним вставьте
<?php } else { $trackback = true; } /* End of is_comment statement */ ?>
Теперь в ваших комментариях будут отсутствовать трекбеки, для них мы создадим новый цикл.
Найдите
<?php else : // this is displayed if there are no comments so far ?>
И перед ним вставьте:
<?php if ($trackback == true) { ?>
<h3>Trackbacks</h3>
<ol>
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php } ?>
<?php endforeach; ?>
</ol>
<?php } ?>
7. Боремся со спамом
– плагин капча в виде картинок с человечеками, нажимаешь на того, что с поднятой рукой – и проходишь проверку.
– ещё одна капча, более надежная, чем предыдущая
математическая капча
8. Древовидные комментарии
сейчас wordpress поддерживает эту функцию и без плагинов, но не все темы имеют такую опцию. Вот о том, как сделать вашу тему поддерживающей древовидные комментарии
9. Плагины и утилиты
– плагин цитирования. Добавляет возможность вставлять цитаты одним кликом в форму комментирования (как на форумах)
добавляет возле имени автора кнопочку при нажатии на которую в форму комментирования вставляется его имя.
Новая с вашего компьютера без захода в админку
- Как скрыть использование wordpress - ETNO - иногда да, т.е. если ваш сайт - это блог, тогда все норм, но если ваш сайт другого типа, а поисковик его будет считать блогом - это не есть хорошо... далее →
- Как скрыть использование wordpress - ридми - ну и что, что поисковик будет думать, что сайт - это блог. Это что, плохо?... далее →
- Как скрыть использование wordpress - ETNO - конечно может... далее →
- Как скрыть использование wordpress - ETNO - не скажите, тут не вопрос в том, какая cms, просто к блогам к примеру, поисковики могут относится не так. И так как wp - считается блоговым движком, т... далее →
- Как скрыть использование wordpress - ридми - не знал, что в wordpress можно столько всего менять... далее →
Похожие статьи:
- sql запросы для wordpress блога
- Трюки c functions.php которые вы не знали
- как использовать возможности wordpress 3.0
- Кастомизируемая логин панель на wordpress
- Хаки для ИЕ/IE
Обязательно прочтите также и такие интерестные статьи:




Спасибо за подборочку. Загуглился весь. А можно совместить подсветку админа комментариев с чередованием?
Спасибо за статью!
В функции “Последние комментарии” как можно выводить ники комментаторов?
нужно подправить строку $output, зайдите на – скачайте плагин, откройте его код и вставьте оттуда кусок кода, там он с ником комментатора
Далее найдите
1.
2.
3.
____________________________________
Я обыскала всеь свой comments.php файл, но таких строк не нашла.
Помогите пожалуйста. Очень хочется сделать Чередование цветов для комментариев
Я свой файл comments.php закачала по этой ссылке.
http://depositfiles.com/files/rwqqyi3a6
пришлите мне на почтуfleeke@gmail.com вашу тему, я гляну что у вас там
Полезная статья. Мне понравилась. А как сделать чтобы показывало количество комментариев для каждого отдельного комментатора?
Подскажи, а какой плагин отвечает у тебя в блоге за “ответить” на комментарий ?
никакой – это настройки самой темы. ну а если нужен такой плагин, то есть такойhttp://wordpress.org/extend/plugins/wordpress-thread-comment/