Для записи количества просмотров надо в файл functions.php в папке вашего шаблона добавить функцию приведенную ниже:
function setPostViews($postID) { $user_ip = $_SERVER['REMOTE_ADDR']; //узнаем текущий IP-адрес посетителя $key = $user_ip . 'x' . $postID; //объединяем ID записи и IP, чтобы сформировать уникальный ключ $value = array($user_ip, $postID); // сохраняем ID записи IP в виде отдельных значений (см. примечание) $visited = get_transient($key); //получить данные и сохранить в переменной //проверяем, ID/IP ($key) на наличие в базе if ( false === ( $visited ) ) { //сохраняем уникальный ключ, ID записи и IP посетителя на 12 часов если он отсутствует set_transient( $key, $value, 60*60*12 ); // запись данных в базу $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); } } }
Теперь надо в шаблон записи вашей темы вставить этот код:
<?php setPostViews(get_the_ID()); ?>
Для вывода количества просмотров надо в файл functions.php в папке вашего шаблона добавить функцию приведенную ниже:
//Вывод количества просмотров 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; }
А в место где хотите вывести количество просмотров надо вставить это:
<p>Просмотрено <?php echo getPostViews(get_the_ID()); ?> раз</p>