Это третья часть цикла о расширенных функциях блога на wordpress. Сегодня поговорим о рейтингах. Всего я проработал с 5 разными плагинами и хочу описать вам свой опыт.
Итак, мои задачи были такими.
Возможность кастомизировать вывод рейтинга. Т.е. я должен сам выбирать место куда будет вставлен рейтинг, также на его основе хотелось бы иметь возможность создавать рейтинг лучших статей. Ну и самое важное, чтобы плагин поддерживал микроразметку, которая добавляла звездочки в расширенный сниппет гугла.
Всего, моим требованиям подошли 3 плагина.
1. .
Очень известный и мощный плагин, я бы назвал его целым комбайном рейтингов. Так как позволяет настроить любые типы рейтингов. Как звездочки, так и рейтинги типа понравилось\не понравилось, выводить как угодно и где угодно, вести логи, управлять рейтингами и создавать различные топы на их основе. Но вот одна очень большая проблема — слишком навороченный.
Если вам нужны простые рейтинги, типа ключил и пользуешься — это не для вас, так как этот плагин создает огромную нагрузку на базу + создает такое кол-во таблиц в базе данных, что даже больше, чем в самом движке. Если вы захотите кастомизировать вывод рейтингов, то разобраться в плагине — очень не просто. Там нужно настроить кучу шаблонов — как будет показываться рейтинг до голосования, после, как будет выглядеть результат рейтинга и т.д. В общем, то, что сделать можно было проще — такое впечатление, что решили все усложнить.
Но плагин действительно очень мощный.
2. .
Один из лучших плагинов рейтинга. Поддерживает рейтинг как статей, так и комментариев. Есть набор разных звездочек. Есть возможность гибкой настройки вывода. Вот все в нем отлично, только набор звездочек мне не очень понравился. Хотелось бы каких-то побольше и симпатичней, а они мелкие все, поэтому решил поискать еще что-то.
3. .
Плагин малоизвестный, а зря. Наверное лучшее решение, если нужно установить рейтинг быстро.
Его плюсы: набор звездочек всего один, но симпатичный, при этом можно выбирать свои, удобная админка, минимум настроек, но все самые нужные. Как и предыдущий, значения рейтинга записываются в произвольные поля, а значит их можно выводить где угодно.
Также я сделал страничку, где вывел топ статей на основе рейтинга плагина. Сделал в виде таблички, вот код
<table>
<thead>
<tr>
<td>Заголовок</td>
<td>Рейтинг</td>
<td>Комментариев</td>
</tr>
</thead>
<?php if(function_exists('kk_star_ratings_get')) :
$top_rated_posts = array();
$top_rated_posts = kk_star_ratings_get(10);
if(count($top_rated_posts)) :
wp_reset_query();
foreach($top_rated_posts as $post)
{
$mypost = get_post($post->ID);
$title = $mypost->post_title;
$permalink = get_permalink($mypost->ID);
$rating_score = $post->ratings;
$com_count = get_comments_number($mypost->ID);
echo '<tr><td><a href="'.$permalink.'">'.$title.'</a></td>';
echo '<td>'.$rating_score.'</td>';
echo'<td>'.$com_count.'</td></tr>';
wp_reset_query();
}
endif;
endif;?>
</table>
А теперь поговорим о одной очень важной функции — это расширенные сниппеты гугла. Все три плагина имеют поддержку сниппетов, но есть одна проблемка. Последние 2 плагина, создают микроразметку и скрывают её от посетителей. В итоге, гугл вам даст расширенный сниппет с звездочками, но может скоро прийти письмецо, мол вы пытаетесь нас нае…ть, показывая микроразметку только поисковикам. Другими словами, блок с микроразметкой должен быть виден на странице. Я сделал это простым способом — блок открыл, но сделал в нем меленький шрифт — около 9px. И посетителям он виден, но и не настолько чтобы сильно мешал.
Для того, чтобы не скрывать блок, пришлось поковырять сам плагин. В папке плагина найдите index.php найдите строки
$markup.= '<span style="display:none;">
<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review-aggregate">
И удалите
style="display:none;"
Теперь блок будет виден, можно изменить span, сделав так
$markup.= '<span style="font-size:9px">
Это сделает блок с 9px шрифтом.
Ну а если вас интересует полноценная карма пользователей, где давались бы поинты за логин, написание статей, комментирование и т.д., то вам нужен плагин .
Небольшой бонус, я уже писал как-то, как сделать так, чтобы рейтинг на основе wp-postrating добавлял поинты автору статьи, т.е. чем больше рейтинг у статьи, тем выше становится рейтинг автора статьи. Но тот код, что я давал уже не работает. Новый код такой
Открываете файл wp-postraiting.php, ищите там строку
echo the_ratings_results($post_id, $post_ratings_users, $post_ratings_score, $post_ratings_average);
Перед ней вставляете
if( function_exists(‘cp_alterPoints’) && is_user_logged_in() ){
cp_alterPoints(cp_currentUser(), 1);
}
Этот код увеличит рейтинг автора на единичку. Если нужно больше, меняйте цифру на свою.
Поисковые системы после всех действий, которые я описал, будут выводить расширенные сниппеты в результатах выдачи. Это даст какое-то преимущество над конкурентами у которого этого нет. Так как это привлекает взгляд и выглядит симпатично. Как-то так
Ссылки на все статьи цикла
1 часть — создаем возможность писать на сайте с фронтенда и редактировать профиль.
2 часть — Плагины для кастомизации логина (попапы, кастомизация стандартного логина, редиректы) и регистрации.
3 часть — Рейтинги статей
4 часть — виджеты социальных сетей и интеграция социальных сетей на сайт
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи: