Счетчик просмотров записи по ip адресу
Для записи количества просмотров надо в файл 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>