Вот мы и подобрались к заключительной части цикла статей. Как и раньше все, что будет описано в статье ниже — вы можете использовать отдельно от других приемов описанных в этом цикле.
В данной статье будет описаны приемы создания расширенного рейтинга автора.
Краткое оглавления цикла
1. Статья — о том как интегрировать страницы регистрации в дизайн сайта и запретить пользователям доступ к админке.
2. Создание блока автора, странички пользователя, дополнительных полей в профиле.
3. Создание форм, а также странички написания статей прямо с сайта, без захода в админку.
Но с тех пор прошло некоторое кол-во времени и появились более удобные плагины, которые отвечают за рейтинги.
Имя плагину — . Русификацию можно скачать . Что может делать плагин: добавлять определенное кол-во баллов за публикацию статей, за комментирование, за ежедневный логин. Само кол-во балов можно устанавливать любое. Кроме того доступны некоторые интересные модули, например, модуль ранги.
Также, к примеру, можете скачать который скрывает часть контента для пользователей, которые не достигли определенного уровня рейтинга. Т.е. выходит что-то вроде как хайд.
Но это ещё не все. Думаю, что такой вид рейтинга удобен, но не на все 100%, потому что выходит, что пользователь может получить только определенное количество баллов. Т.е опубликовал статью — держи 10 баллов, но ведь статьи бывают разные. Некоторые полезные, а некоторые — почитал и закрыл. Конечно было бы хорошо, чтобы пользователи повышали свой рейтинг от того насколько полезная статья.
Теперь перейдем к рейтингу статей.
Наверное самый лучший плагин для этих целей . Как и все остальные плагины Лестера, он хорошо сделан и хорошо .
Если не знаете инглиш, то расскажу вкратце. Устанавливаете плагин, идете в настройки устанавливаете вид рейтинга и если нужно вручную, то вставляете код в тело поста
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
Вот и все.
А теперь бонус от меня.
Рассказываю как объединить возможности обеих плагинов. Т.е. будет система рейтинга от куба, но при этом каждый автор будет получать рейтинг также и за рейтинг его статей.
В плагине wp-postratings добавьте в файл wp-postratings.php примерно после
616 строки, в ней
// Log Ratings No Matter What
rate_log = $wpdb->query("INSERT INTO $wpdb->ratings VALUES ...
добавьте этот код
$post = get_post($post_id);
$author_id = $post->post_author;
$sql = "INSERT INTO `{$wpdb->prefix}cubepoints` VALUES (0,
$author_id, 'rating_post', $post_id, ".$ratings_value[$rate-1].",
".current_time('timestamp').")";
$wpdb->query($sql);
$cpoints = get_user_meta($author_id, 'cpoints', true);
$cpoints += $ratings_value[$rate-1];
$a = update_user_meta($author_id, 'cpoints', $cpoints);
И в плагине cubepoints в файл cp_admin_logs.php примерно после 98 строки
(после break;)
добавь этот код
case "rating_post":
$source = get_post($result->source);
if($source->ID!=''){
$source= '<a href="' . $source->guid . '"
title="'.$source->post_title.'">Post #'.$source->ID.'</a>' ;
}
else {$source= 'Post #'.$result->source;}
$type=__('Изменение рейтинга поста','cp');
break;
Вот и все. На этой ноте заканчиваю цикл статей на тему создания социальной сети на базе wordpress. Но не заканчиваю писать на эту тему. К примеру, в ближайшее время будет выложен плагин, с помощью которого можно делать платные социальные сети, подробней об этом — чуть позже.
Подписывайтесь на обновления, чтобы не пропустить вкусняшки.
UPD.
на новых версиях код поменялся, теперь нужно делать так. В файл wp-postratings.php нужно вставлять код
$post = get_post($post_id);
$author_id = $post->post_author;
$sql = "INSERT INTO `{$wpdb->prefix}cp` VALUES (0, $author_id, 'rating_post', $post_id, ".$ratings_value[$rate-1].", ".current_time('timestamp').")";
$wpdb->query($sql);
$cpoints = get_user_meta($author_id, 'cpoints', true);
$cpoints += $ratings_value[$rate-1];
$a = update_user_meta($author_id, 'cpoints', $cpoints);
и в cp_hooks
/** Post rating logs hook */
add_action('cp_logs_description','rating_post_log', 10, 4);
function rating_post_log($type,$uid,$points,$data){
if($type!='rating_post') { return; }
$post = get_post($data);
echo __('Изменен рейтинг', 'cp') . ' "<a href="'.get_permalink( $post ).'">' . $post->post_title . '</a>"';
}
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:
о, читаете мои мысли, как раз ищу инфу по этой теме.
за бонус спасибо, очень полезное объединение
спасибо за статьи. не напишите, как сделать вывод рейтинга, в том же профиле, к примеру?
прошу прощения за невнимательность — это, оказывается, уже организовано. наверное, стоить удалить оба комментария.
если в случае cubepoints — то
php
if(function_exists(‘cp_displayPoints’)){
cp_displayPoints();
}
?
только поставьте в начале и конце
я тоже не понял как сделать чтобы рейтинг выводился в sidebar где ава стоит.
<?php if(function_exists('cp_displayPoints')){cp_displayPoints();}?>добавляете туда, где нужно вывести рейтинг
а если я не лез в коды, просто использую виджет Theme My, вставил его в ситибар и все.то как вывести рейтинг. и куда именно вставлять этот код.обьясните пожалуйста подробнее для новичка. или скиньне мыло. у меня еще просто много вопросов. а подобных статей я нашел на русском только две. в обшем даже почитать не где
если нужно виджетом, то в cube points там тоже виджет вроде был.
Приветствую. Большое спасибо за цикл статей.
Интересует такой момент, — насколько увеличивается потребление памяти после всех манипуляций?
само потребление не очень критично, у меня даже на самых навешанных сайтах не более 28мб, это без кеширования, но вот кол-во запросов — может, но опять же есть плагины кеширования которые спасают
get_user_meta не работает на WP 2.x
Пришлось обновляться до 3.0.1 версии
у меня стоит на 2.9 — то работает, на 2.8 — да, может не работать
Чёт не получилось
Ставлю оценку и постоянный Loading… крутиться. Рейтинг не меняется.Но оценка после обновления страницы всё же засчитывается.
В логе «кубы» очки добавляются, при этом рейтинг пользователей не меняется. WP 2.9 плагины последние.
а вы вносили хаки в плагины, что я описывал выше. Без них — эти 2 плагина будут никак не связаны
Конечно. При оценке статьи в postratings видны очки в логе cubepoints, но репа пользователя не меняется.
фиг его знает, я так не могу ниче сказать, может настройки неверны. Может вы используете не целые числа рейтинга?
А как ручками вывести ТОП пользователей? Чтобы имя автора — рейтинг
ручками сложновато — мне на заказ писали функцию, но она была подогнана под конкретный сайт. А вот в cubepoints — там есть стандартная функция вывода топа + в хелпе на их сайте где-то был указан код, как его выводить в ручную
Спасибо, я тоже искала нечто подобное.
А где можно взять формулы для рассчета рейтинга? Что-то близкое к stackoverflow. Заранее благодарю за ответ и еще больше — за полезную информацию.
Сайт плагина не работает cubepoints
Что делать?
p.s. можете ли помочь с установкой и настройкой рейтинга? за оплату.
— работает нормально. На заказ сейчас ничего не беру, поспашивайте на форумах talk.maulnet.ru или forum.searchengines.ru. там всегда много тусуется народу, которые разбираются в wordpress
В чем конкретно проблема при установке рейтинга? У меня все работает
Огромнейшее спасибо за весь цикл! получилось именно то что нужно было.
Спасибо за статью.
Автор, как вывести рейтинг автора поста?
В интернете все перерыл, информации мало и ничего мне не помогло…
так а статья вроде о рейтинге автора и есть
Скачал версию cubepoints 3.5 и wp-ratings.
Пытаюсь объединить возможности плагинов.
Однако, в cp_admin_logs.php всего 20 строк…
Куда вставлять: case «rating_post»: итп?
Thx!
не подскажу, так как сам не знаю. Код в статье, я просто заказывал у программистов, вот и выложил
Тогда, с какой версией плагинов у Вас все работает?
Thx!
там сейчас 3 версия cubepoints последняя? У меня стоит на сайте где это все реализовано — 2.1.3
Спасибо, попробую.
как вывести виджет cubepoints в любом месте шаблона очень надо
— тут раньше были доки, но сейчас ссылка не работает, может чуть позже поправят
Напишите пожалуйста об интеграции свежих версий 3.1, очень интересная и нужная тема. Я смотрю Ваш метод даже на оф. форуме описали!
И второй вопрос — как вывести рейтинг автора новости или например рейтинг автора в его профиле?
Спасибо!
Нужно подсказать админу новой социалки — вместе с ним делаем проэкт бесплатный трафик — вот хочется мне сдлеать рейтинг пользователей — первый вариант наиболее оптимален
Здраствуйте, ребята кто знает как связать эти два плагина (чтоб рейтинг постов тоже влиял на рейтинг автора). Инструкция выше предназначена для cubepoints 2.1.3, а как быть если версия cubepoints 3…?
Тоже очень интересует этот вопрос. Роман, Вы не разобрались?
Коммент по решению данной проблемы я дал ниже!
Для этого нужно открыть файл cp_api.php и после 94 строчки вставить код, который предложил автор. Вот как бы и все=)
не совсем. Я недавно смотрел новые версии плагинов и написал решение для них, скоро опубликую, пока проверяю
Приветствую,
ETNO
4 Май 2013 в 12:26
не совсем. Я недавно смотрел новые версии плагинов и написал решение для них, скоро опубликую, пока проверяю
А где можно почитать об этом решении?
обновил статью, смотрите новый код
Скажите, пожалуйста, а как собственно вставить суммарный рейтинг (cubepoint + wp-postrating) в колонку автора, который скажем выводится под каждой записью.
Пытаюсь вывести реейтинг АВТОРА ЗАПИСИ следующим кодом: if(function_exists(‘cp_displayPoints’)){cp_displayPoints($curauth->ID);
Но выводит рейтинг того, кто залогинен, а не рейтинг автора записи. Подскажите, пожалуйста, какой код нужно вставлять для вывода именно рейтинга АВТОРА ЗАПИСИ.
этот код будет работать только на странице author.php причем выше нужно добавить
Чтобы вывести на странице поста рейтинг автора статьи попробуйте так
<?php $author_id = get_the_author_meta('ID'); if(function_exists('cp_displayPoints')){cp_displayPoints($author_id);}?>Спасибо огромное! Получилось, ура