Голосовалка комментов по порядку

Суть такая. Есть такой плагин Comment Carma. Поставился он у меня (хотя и не сразу, но суть не в этом). Там же (на странице плагина) можно увидеть как это дела работает (прокрутите до комментов).

Я не шарю в мускуле, но так думаю, что этот плагин добавляет в таблицу комментов ещё одно поле, где и указывает так называемую карму.

Так вот интересует вопрос, а вернее нужна помощь. Как сделать так, чтобы комменты выкладывались в зависимости от кармы. Т.е. к примеру чем больше карма, тем выше комментарий. Чтобы голосовавшие могли так сказать влиять на отображение комментов. (я думаю что вы меня поняли).

P.s. для тех кто не понял как его ставить вот инструкция:

Вставить в шапку:

<script type="text/javascript" src="http://yourdomain/wp-content/plugins/ck-karma/ck-karma.js">
</script>


Вставить в удобное место (обычно после даты или функции edit) в лупе комментов:
<?php if (comment_subscription_status()) { echo " (subscribed to comments) "; } ck_display_karma(); ?>

или (если не пашет)(у меня например только так пошло):
<?php echo " (голосуй) "; ck_display_karma(); ?>

Помогите народ или подскажите хоть что нить умное, я же знаю что вы гении… не раз ведь выручали

Тянем, смотрим, видим. CREATE TABLE – значит не поле добавляет, а целую таблицу. Ну, в общем, видимо, придется перехватывать запрос к базе на выборку комментариев и пересобирать запрос так, чтобы "срастить" две(?) таблицы и изменить order by. Бубен в руки! 🙂

PS А как забавно будет смотреться переписка в каментах, отсоритрованных по карме, а не по порядку…

Юрий Дмитриевич я вас уважаю, как авторитетного человека на этом форуме и рад вашему решению, но к сожалению я далёк от MySQL и сам это сделать не смогу. Могу разве что рядом побегать и постучать в бубен 🙂 . Но всё же спасибо… возможно найду человека, который это сможет осуществить, хотя сейчас в предновогодье блин хрен кого застанешь или всем "влом, давай потом".

p.s. По поводу забавности это да… но тут идея будет немного другая 😉

*Делая вид, что не понял намек* Спасибо за комплимент! 🙂
Серьезно, ну так не хочется ставить оту карму и натыкивать её.

Посмотрел я на Вашу карму (в смысле – на плагин ;)). Ну что сказать. Похоже, придется идти по пути paged-comments, то есть полностью воссоздавать кусок движка, делающий выборку комментариев для поста, только в запросах еще учитывать карму. Тоскливое занятие.

Коллега JawsIk, попробуйте в functions.php темы или в ck-karma.php добавить

add_filter('comments_array','karma_sort'); 
function karma_sort($comments) {
    global $table_prefix, $wpdb;
    $pid = $comments[0]->comment_post_ID;
    $comments = $wpdb->get_results("SELECT * FROM {$table_prefix}ck_karma RIGHT JOIN $wpdb->comments ON (ck_comment_id = comment_ID) WHERE comment_post_ID = '$pid' AND comment_approved = '1' ORDER BY ck_rating desc");
    return $comments;
}

Полноценность не гарантирую. И вообще ничего не гарантирую, кроме того, что код будет занимать место на винте.

огромное спасибо… буду проверять

Anonymous
Отправить
Ответ на: