Чтобы посетители могли оценить активность разных комментаторов, можно выводить рядом с именем комментатора и количество написанных им комментариев. Я сделал это без плагинов.
Про вывод количества комментариев рядом с именем комментатора я уже писал. Сейчас же хочу привести способ, который выводит количество комментариев в правильном русском склонении: 1 комментарий, 2 комментария, 6 комментариев, 21 комментарий.
Откройте файл functions.php, и добавьте в него:
function comment_count(){
global $_comments_array, $comment;
if(empty($comment->comment_author_email)) return;
if(!isset($_comments_array)){
global $wpdb;
$tmp = $wpdb->get_results("SELECT P.comment_author_email, COUNT(*)
FROM wp_comments P
WHERE P.comment_author_email IN (SELECT DISTINCT P2.comment_author_email
FROM wp_comments P2
WHERE P2.comment_post_ID=".$comment->comment_post_ID."
)
GROUP BY P.comment_author_email", ARRAY_N);
$_comments_array = array();
$a = array('комментарий','комментария','комментариев');
$i = array (2, 0, 1, 1, 1, 2);
foreach($tmp as $t){
$num = (int)$t[1];
$_comments_array[$t[0]] = $num.' '.$a[($num%100>4 && $num%100comment_author_email, $_comments_array)){
echo $_comments_array[$comment->comment_author_email];
}
} Эта функция подсчитывает количество комментариев, оставленных комментатором в блоге, ориентируясь на его электронный адрес. Чтобы вывести результат подсчета, нужно в шаблон комментариев (обычно это comments.php) добавить:
</pre> <p>Этот код нужно вставить сразу после кода, выводящего имя комментатора. Обычно имя комментатора выводится с помощью функции <</p> <pre> inline="yes">
.
При подготовке этого материала мне помогла информация с этой и этой страниц.








О прикольно.
Прикручу себе! :)
А как такое реализовать на странице профиля (www.site.com/author/admin)?
Добавил в закладки, спасибо!
напишите что префикс базы данных нужно на свой поменять. 2 замены сделать где написано
Зачем менять? Я не менял префикс, и все прекрасно работает.
когда я писал прошлое сообщение – уже проверил что без смены префикса не работает. У меня таблицы не с wp_ начинаются.
Сначала нашел другой код http://webpeppers.ru/140.html – тот тоже отказался работать. Помогло смена в коде вызова к бд.
Ну собственно как хотите…
Не выходит… Вставил функцию. Теперь в комменты закинуть
Но там нету строки
Вот. Помогите пожалуйста…
<?php if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!'); if ( post_password_required() ) { ?> <p class="nocomments">Эта запись под паролем. Введите пароль чтобы просмотреть комментарии.</p> <?php return; } ?> <?php if ( comments_open() ) : ?> <div id="respond"> <h3>Оставьте комментарий</h3> <div class="cancel-comment-reply"> <small><?php cancel_comment_reply_link(); ?></small> </div> <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?> <p>Вы должны <a href="<?php echo wp_login_url( get_permalink() ); ?>">войти</a> чтобы оставить комментарий.</p> <?php else : ?> <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php if ( is_user_logged_in() ) : ?> <p> Вы вошли как <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Выйти с аккаунта">Выйти »</a> </p> <?php else : ?> <div class="left"> <label for="author">Имя <?php if ($req) echo "(required)"; ?></label> <div class="field"><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> /></div> <label for="email">Почтовый ящик (will not be published) <?php if ($req) echo "(required)"; ?></label> <div class="field"><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /></div> <label for="url">Сайт</label> <div class="field"><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" tabindex="3" /></div> </div> <?php endif; ?> <div class="<?php echo is_user_logged_in() ? '' : 'right' ?>"> <label for="comment">Комментарий</label> <div class="textarea"><textarea name="comment" id="comment" cols="40" rows="10" tabindex="4" class="field"></textarea></div> </div> <div class="cl"> </div> <input name="submit" type="submit" id="submit" tabindex="5" class="button <?php echo is_user_logged_in() ? 'userloggedbtn' : '' ?>" value="Добавить" /> <?php comment_id_fields(); ?> <?php do_action('comment_form', $post->ID); ?> <div class="cl"> </div> </form> <?php endif; // If registration required and not logged in ?> </div> <?php endif; ?> <?php if ( have_comments() ) : ?> <div id="comments"> <div class="navigation commentsnavigation"> <div class="cl"> </div> <div class="alignleft"><?php previous_comments_link() ?></div> <div class="alignright"><?php next_comments_link() ?></div> <div class="cl"> </div> </div> <ol class="commentlist"> <?php wp_list_comments('callback=print_comment'); ?> </ol> <div class="navigation"> <div class="alignleft"><?php previous_comments_link() ?></div> <div class="alignright"><?php next_comments_link() ?></div> </div> </div> <?php else : ?> <?php if ( comments_open() ) : ?> <!-- If comments are open, but there are no comments. --> <?php else : // comments are closed ?> <p class="nocomments">Комментарии запрещены.</p> <?php endif; ?> <?php endif; ?>поищите в functions.php
Там только
Что же делать… :(
Вывелось… Спасибо, OTSHELNIK-FM
Просто я думал что будет иконка)
А там просто текст)
Ну а кто вам мешает добавить иконку?
Сделал) Спасибо)