Удалить повторяющиеся строки   •   Online-инструменты
478 просм
0 комм
Поделиться:

Добавляем количество просмотров записи в WordPress

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

1. Подключитесь к вашему сайту по FTP, в папке вашей темы найдите файл 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;
	
}

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);
		
	}
	
}

// Показ количества просмотров в панели управления
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views', 5, 2);

function posts_column_views($defaults) {

	$defaults['post_views'] = __('Просмотры');
	return $defaults;
	
}

function posts_custom_column_views($column_name, $id) {

	if($column_name === 'post_views') {
	
		echo getPostViews(get_the_ID());
		
	}
	
}

Сохраните изменения и отправьте файл обратно на сайт.

С помощью этого кода мы внедряем возможность подсчета количества просмотров записи + отображение этого числа в панели управления вашим сайтом.

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

// Показ количества просмотров в панели управления
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views', 5, 2);

function posts_column_views($defaults) {

	$defaults['post_views'] = __('Просмотры');
	return $defaults;
	
}

function posts_custom_column_views($column_name, $id) {

	if($column_name === 'post_views') {
	
		echo getPostViews(get_the_ID());
		
	}
	
}

2. Помимо выше описанного кода, в полную версию вашей записи (чаще всего это файл single.php в папке вашей темы), сразу после вызова цикла:

<?php
	if(have_posts()) : while (have_posts()) : the_post();
?>

вставьте:

<?php
	setPostViews(get_the_ID());
?>

На этом подсчет количества просмотров окончательно завершен.

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

<?php
	echo "Просмотров: ".getPostViews(get_the_ID());
?>

Стиль оформления и названия вы можете изменить на свои, главное – не нарушьте код вызова счетчика просмотров.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария