fil_and
@fil_and
Делаю сайт гимнастики

Как вывести количество просмотров каждой записи на главной странице блога?

Здравствуйте. Пытаюсь на главной странице блога вывести анонсы записей. Анонс каждой записи выглядит как квадрат с миниатюрой, заголовком поста, датой, количеством комментариев и просмотров. Гугля, нашёл код:
для functions:

/*количество просмотров*/
  function getPostViews($postID){
 $count_key = 'post_views_count';
 $count = get_post_meta($postID, $count_key, true);
 if($count==''){
 delete_post_meta($postID, $count_key);
 add_post_meta($postID, $count_key, '0');
 return "0 просмотров";
 }
 return ' просмотров: '.$count;
 }
 function setPostViews($postID) {
 $count_key = 'post_views_count';
 $count = get_post_meta($postID, $count_key, true);
 if($count==''){
 $count = 0;
 delete_post_meta($postID, $count_key);
 add_post_meta($postID, $count_key, '0');
 }else{
 $count++;
 update_post_meta($postID, $count_key, $count);
 }
 }

где надо посчитать (ставлю в код страницы отдельного поста single.php):

<!-- для сбора информации просмотра страницы -->
<?php setPostViews(get_the_ID()); ?>
<!-- / для сбора информации просмотра страницы -->

где надо вывести (ставлю в код вывода записи на главной странице блога home.php):
<?php endwhile; ?><?php echo getPostViews(get_the_ID()); ?>


в итоге считается неправильно. переходишь на один пост, просмотры прибавляются к другому или вообще не прибавляются. Что делаю не так?
сайт vh166963.eurodir.ru/blog
  • Вопрос задан
  • 787 просмотров
Решения вопроса 1
HectorPrima
@HectorPrima
программист
Скорее всего не в то место вставляете setPostViews
У себя на тестовом поставил и все проверил. Работает.
Показывайте весь код куда вставляете
<?php setPostViews(get_the_ID()); ?>

и с
<?php echo getPostViews(get_the_ID()); ?>
непонятно. по идее код должен быть внутри цикла... а что у вас там за огрызок endwhile ?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы