Как отобразить количество просмотров записи?

10 нояб. 2011 г., 22:54:06
Просмотры: 15.9K
Голосов: 0

Есть ли какие-либо поддерживаемые плагины для отображения количества просмотров записи? wp-postviews кажется наиболее часто используемым, но он требует изменения темы (что потребует создания дочерней темы, чтобы избежать перезаписи при обновлениях), и, похоже, не работает с плагинами кеширования.

Кажется, что должно быть достаточно просто расширить API wp-statistics / jetpack для отображения этой информации, но я не нашел плагина, который бы это делал. Кажется, это распространенная функция, наверняка это уже где-то реализовано?

0
Все ответы на вопрос 3
2

Попробуйте этот вариант Работает на одиночном сайте

// просмотры записи
function setAndViewPostViews($postID) {
    $count_key = 'views';
    $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);
    }
    return $count; /* чтобы можно было вывести значение */
}

Вам нужно добавить следующую функцию в файл functions.php вашей темы и вызвать её внутри цикла или внутри файла posts.php или page.php вашей темы. Например так:

<?php echo setAndViewPostViews(get_the_ID());  ?>

Это будет увеличивать и сохранять количество просмотров записи, а затем отображать их число.

Вдохновившись вопросом, я написал статью, которая может быть полезна: http://nerudo.mregi.com/how-to-display-number-of-page-views-on-a-post-wp/

29 нояб. 2011 г. 15:27:55
Комментарии

спасибо - можете предоставить больше деталей? Какой файл вы редактируете? Требуются ли для этого плагины? Я предполагаю, что затем нужно создать дочернюю тему, чтобы избежать перезаписи этих изменений? Спасибо.

cboettig cboettig
6 дек. 2011 г. 18:51:55

Просто, но эффективно!

Dhaval Panchal Dhaval Panchal
8 авг. 2018 г. 11:50:51
2

wp-postviews кажется наиболее часто используемым плагином, но он требует модификации темы (что потребует создания дочерней темы, чтобы избежать перезаписи при обновлениях основной темы)...

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

...и, похоже, не работает с плагинами кэширования.

Если вы хотите отображать динамический счетчик просмотров в записи, использование кэширования не самая лучшая идея.

Большинство систем кэширования возвращают статический HTML-контент вместо динамически генерируемой страницы. Это означает, что счетчик не будет увеличиваться при каждой загрузке страницы, если вы не настроите принудительное обновление кэша через определенные интервалы... и тогда счетчик будет меняться только при таком обновлении.

Кажется, это стандартная функция, наверняка кто-то уже реализовал её?

Да, и вы уже нашли один из способов, как это делают - WP-PostViews

Есть несколько других плагинов, которые делают то же самое. Поскольку вы уже нашли один, я предполагаю, что сможете быстро найти и остальные.

10 нояб. 2011 г. 23:08:00
Комментарии

Спасибо за ответ, это действительно помогло. Однако я запутался - другие плагины отображают контент на страницах без необходимости использования дочерней темы (например, kcite, post revision display). Кажется, плагин Ajax-the-Views решает проблему кэширования. Было бы хорошо, если бы wp-postviews или другой вариант использовал API wp-stats, чтобы соответствовать этой статистике, а не начинать с нуля.

cboettig cboettig
17 нояб. 2011 г. 18:35:15

Большинство плагинов, которые отображают контент, подключаются к фильтру контента или другому фильтру в WP и вставляют HTML-разметку прямо на страницу. Иногда это работает нормально. В других случаях это может привести к нарушению верстки вашего сайта. Все зависит от используемой темы и того, как она закодирована. Самый безопасный путь - использовать дочернюю тему, чтобы другие разработчики не гадали вслепую, где разметка впишется в остальную часть вашего сайта.

EAMann EAMann
17 нояб. 2011 г. 19:16:10
0

Использование WP-PostViews вместе с Ajax-the-Views и дочерней темой для файлов index.php и single.php моей темы — это лучшее решение, которое у меня есть на данный момент.

Жаль, что это не вызывает wp-stats API с моим API-ключом, поэтому счётчики начинаются с нуля, а не отражают историю, хранимую плагином статистики.

Спасибо @EAMann за предложения, и буду рад услышать другие решения.

17 нояб. 2011 г. 18:40:58