Выводим список самых просматриваемых постов с помощью плагина Post Views Counter

01.01.2017

Выводим 8 самых просматриваемых записей. Количество просмотров каждой записи считает плагин Post Views Counter.

Небольшое отступление

Выводим количество просмотров записи в коде (например, в single.php), этим кодом выведется только число, без каких-либо тегов или родительских элементов:

<?php 
  if( function_exists('pvc_get_post_views') ) echo pvc_get_post_views( $post->ID); 
?>

С помощью шорткода, этим кодом выведется число со всеми параметрами, лэйблами, иконками и прочими настройками плагина с оборачиванием в div.post-views:

<?php echo do_shortcode( '[post-views]' ); ?>

Выводим количество просмотров записи в текстовом редакторе или Visual Composer шорткодом:

[post-views]

Выводим 8 самых просматриваемых записей.

 

Вместо функции get_posts() используем pvc_get_most_viewed_posts()

<ul>

<?php
$args = array( 'posts_per_page' => 8 );
$myposts = pvc_get_most_viewed_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

<?php 
endforeach; 
wp_reset_postdata(); ?>

</ul>

Если нужно вывести самые просматриваемые посты из той же категории, при этом исключим текущую запись (например, внизу под записью мы выводим блок «Самые просматриваемые в этой категории»), то нужен такой код:

<ul>

<?php
$category = get_the_category();
rsort($category);
$cat_add_id = $category[0]->term_id;
$real_id = get_the_ID(); 

$args = array( 'posts_per_page' => 8, 'cat' =>$cat_add_id);
$myposts = pvc_get_most_viewed_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>

<?php if ($post->ID <> $real_id) { ?>

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

<?php } ?>

<?php 
endforeach; 
wp_reset_postdata(); ?>

</ul>

Больше информации по запросам get_posts() смотрите здесь.

Полезная инфа:

Оставить комментарий