Как сделать счётчик количества просмотров каждой статьи?

Как сделать счётчик количества просмотров каждой статьи? Хорошего настроения всем читателям – Sozdaiblog.ru!

В этом посте я покажу, как сделать счётчик количества просмотров каждой статьи в отдельности на Вашем сайте или блоге.

Перед тем как приступить к реализации данной функции скажу пару слов о том, кому и для чего это может понадобиться.

Конечно, первое ради чего на сайт прикручивают такой наворот – это обычный человеческий интерес, который проявляется в желании знать, сколько же раз люди посмотрели опубликованную статью.

Ну а для более продвинутых Веб-мастеров, данная фишка является необходимым вспомогательным инструментом для реализации нового функционала на их сайте. Об этом мы обязательно поговорим в одном из ближайших постов.

Думаю, что достаточно уже разговоров, давайте действовать.

Итак.

Как сделать счётчик количества просмотров каждой статьи?

Первое что Вам нужно сделать, это открыть для редактирования файл functions.php , который находится в папке с Вашей активной темой оформления сайта и в самом конце вставить следующий код:

/* Подсчет количества посещений страниц
---------------------------------------------------------- */
add_action('wp_head', 'sozdaiblog_postviews');
function sozdaiblog_postviews() {

/* ------------ Настройки -------------- */
$meta_key               = 'views';      // Ключ мета поля, куда будет записываться количество просмотров.
$who_count              = 1;                    // Чьи посещения считать? 0 - Всех. 1 - Только гостей. 2 - Только зарегистрированых пользователей.
$exclude_bots   = 1;                    // Исключить ботов, роботов, пауков и прочую нечесть 0 - нет, пусть тоже считаются. 1 - да, исключить из подсчета.
/* СТОП настройкам */

global $user_ID, $post;
        if(is_singular()) {
                $id = (int)$post->ID;
                static $post_views = false;
                if($post_views) return true; // чтобы 1 раз за поток
                $post_views = (int)get_post_meta($id,$meta_key, true);
                $should_count = false;
                switch( (int)$who_count ) {
                        case 0: $should_count = true;
                                break;
                        case 1:
                                if( (int)$user_ID == 0 )
                                        $should_count = true;
                                break;
                        case 2:
                                if( (int)$user_ID > 0 )
                                        $should_count = true;
                                break;
                }
                if( (int)$exclude_bots==1 && $should_count ){
                        $useragent = $_SERVER['HTTP_USER_AGENT'];
                        $notbot = "Mozilla|Opera"; //Chrome|Safari|Firefox|Netscape - все равны Mozilla
                        $bot = "Bot/|robot|Slurp/|yahoo"; //Яндекс иногда как Mozilla представляется
                        if ( !preg_match("/$notbot/i", $useragent) || preg_match("!$bot!i", $useragent) )
                                $should_count = false;
                }
                if($should_count)
                        if( !update_post_meta($id, $meta_key, ($post_views+1)) ) add_post_meta($id, $meta_key, 1, true);
        }
        return true;
}

После этого всё в той же папке с темой находим файл single.php , который отвечает за вывод отдельных постов в WordPress, открываем для редактирования и в необходимое место (там, где нужно вывести счётчик ) вставляем такой код:

Просмотров: <?php echo get_post_meta ($post->ID,'views',true); ?>

В большинстве случаев счётчик количества просмотров страниц вставляют после заголовка поста (тег H1 ).

Но, это решать уже Вам.

Выглядеть это будет примерно так:

На сегодня у меня всё, всем удачи и до следующих постов!

С уважением, Денис Черников!

Оставить свой комментарий
  1. Сергей

    Это старая тема, у себя только в админке сделал, чтобы самому смотреть. И код вроде Камы вроде.

    1. Денис Черников

      Кому старая, а кому полезная! Весь код в интернете чей-нибудь!

  2. Шишов Антон Junk-nnru

    Денис, стоит дополнить, что при наличии на сайте КЕШирующих плагинов, могут возникнуть конфликты, поэтому стоит либо их отключить, либо постоянно чистить кеш.

    1. Денис Черников

      Я больше не работаю с плагинами КЭШирования, поэтому не в курсе подобной проблемы! Но если это так, то пусть Ваш комментарий будет этакой напоминалкой! Спасибо!

  3. Андрей

    я раньше ставил плагин для количества просмотров, но убрал потому что прочитал, что он перегружает бд, на мой взгляд лучше установить рейтинг звезд, чтоб посетители могли ставить оценку посту

    1. Денис Черников

      Не слышал о таком! Попробуйте без плагина! Количество просмотров и рейтинг звёзд, это немного разные вещи!

      1. Шишов Антон Junk-nnru

        Даже без плагина все равно идет большая нагрузка на сервер, ведь при загрузке страница одним пользователем необходимо (в пределах БД):
        1) извлечь поле с количеством просмотров;
        2) увеличть на 1;
        3) перезаписать поле;
        А при большом потоке, хотя бы 500 человек в час, все время работы базы увеличится > больше чем в 500 раз.
        К тому же не у всех серверы, а лишь хостинги (места на серверах), у которых режим реального времени.
        Поэтому счетчик разумно ставить тем:
        1) кто имеет малый трафик на сайт;
        2) у кого выделенный сервер.

        1. Денис Черников

          Извините, но это полный бред!
          У меня есть ресурс, где посещаемость 3000 человек и он находится на самом простом и дешёвом хостинге и никакой нагрузки от этого на нём нет!
          Тем более чтобы на сайт в течении часа 500 человек зашло на простом хостинге? Покажите хоть один сайт на шаре, где в час по 500 человек прилипает?!
          А у кого такое возможно (порталы, форумы) то естественно они давно все на VPS.
          Что же касаемо стандартных блогов, где 2000—3000 посетителей, то ни о какой нагрузки от этого и речи нет. Так что не морочьте людям голову!

          1. Шишов Антон Junk-nnru

            I) Цифра 500 чел / час была взята для примера, чтобы показать картину целиком в красках.
            II) Если даже у вас на самом дешевом хосте нет загрузки, значит:
            1)сайты расположенные с вами на одном сервере мало посещаемые, которые практически не потребляют ресурсы сервера, которые, как я писал выше, распределяются в режиме реального времени
            2) либо они используют отличный от вашего MySQL сервер
            Вот если хотя бы часть сайтов, с которыми вы соседствуете на сервере будут иметь такие же показатели как у вас 2000 — 3000 чел/сутки, то уже тогда будет заметно увеличение отклика сайта.
            Я веду к тому, что устанавливая различные приблуды, которые хоть в какой-то степени нагружают системы, стоит думать о будущем.

          2. Денис Черников

            Антон, если таких приблуд стоит в количестве, как новогодние шары на ёлке, то будь Вы хоть один на хосте, сами же свой сайт повесите только одними обращениями со своего IP адреса.
            Нужно знать меру во всём и не лепить просто, чтобы было.Применяя инструменты с умом ничего страшного не будет!
            А на счёт хостинга, то все его ресурсы распределяются равномерно для каждого сайта и не важно сколько расходует именно Ваш сайт. Вам всё равно не дадут их украсть у других, поэтому теория с потреблением ресурсов отпадает.

  4. Екатерина

    Скажите, Денис, вот поставлю я счетчик, и он начнёт считать… Но ведь он будет считать с момента установки. И получится, что как будто бы мои статьи вообще мало кто просматривал за все время их появления на сайте…

    1. Денис Черников

      Да, Екатерина! Счёт начнётся с момента установки!

  5. Ольга

    Добрый день!
    Вот хочу этот счетчик поставить и хотела спросить, этот кусочек
    add_action ('wp_head', 'sozdaiblog_postviews');
    function sozdaiblog_postviews () {
    здесь написано название вашего блога, это надо так и оставить или надо менять на свое.

    1. Денис Черников

      Здравствуйте!Ничего менять не нужно.

      1. Ольга

        Спасибо вам) Счетчик отлично работает, красотень)Я с помощью ваших советов уже пол сайта настроила. Спасибо вам)

        1. Денис Черников

          Пожалуйста, Ольга! Обращайтесь!

  6. Олег

    Подскажите, а как выдернуть из базы количество просмотров от плагина WP-PostViews, что бы те старые просмотры сюда вставить и не начинать все с 0?

    1. Денис Черников

      Не задумывался об этом, не знаю! Скорее всего никак! Хотя, нет ничего не возможного!

  7. андрей

    Следует отметить, что обновления страницы админом в счет просмотров не входит))

  8. Николай

    Я поставил счетчик на своих двух сайтах. На одном отображается количество просмотров страниц за весь период работы сайта (и старые и новые), а на втором — только те, которые были при бытности плагина, то есть все до декабря месяца 2014 г, дальше счетчик не работает. Что делать, Денис?

    1. Денис Черников

      Это не ко мне!

  9. Владимир

    Спасибо Денис! Очень помогло…

    1. Денис Черников

      Пожалуйста, заходите!

Ваш комментарий

Обязательные поля помечены *

Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее
Как сделать счётчик количества просмотров каждой статьи?

Хорошего настроения всем читателям – Sozdaiblog.ru! В этом посте я покажу, как сделать счётчик...

Подробнее

Что будем искать? Например, Кредит

Create a Mobile Website
View Site in Mobile | Classic
Share by: