Как заменить систему рейтинга на лайки из соц. сетей?
Нужно сортировать посты по общему количеству лайков из фейсбука и вконтакте, как это реализовать?
1 Ответ(ы)
Для фейсбука:
Сперва добавьте следующий код в файл с записью(обычно single.php)
// Update FB Count $obj_fb = json_decode( file_get_contents( 'http://graph.facebook.com/?id='.get_permalink() ) ); $likes_fb = $obj_fb->shares; update_post_meta($post->ID, '_kjl_fb_likes', $likes_fb, false);
Код следует разместить внутри цикла вывода записи. Он сохранит(и будт сохранять) в произвольное поле количество лайков от фейсбука
Вот код непосредственно для вывода отсортированных записей:
<?php $blog_args = array( 'posts_per_page' => 5, 'post_type' => 'post', 'meta_key' => '_kjl_fb_likes', 'orderby' => 'meta_value_num', 'order' => 'DESC' ); $blog_query = new WP_Query($blog_args); ?> <ul> <?php if($blog_query->have_posts()) : while($blog_query->have_posts()) : $blog_query->the_post(); ?> <li><a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a></li> <?php endwhile; endif; wp_reset_query(); ?> </ul>
Для вконтакте, вам нужно посмотреть, как можно получать в php количество лайков поста. Логика будет такой же.