Удалить повторяющиеся строки   •   Online-инструменты
541 просм
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);
		
	}
	
}


// Показ количества просмотров в панели управления

function posts_column_views($defaults) {

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

	return $defaults;
	
}

add_filter("manage_posts_columns", "posts_column_views");


function posts_custom_column_views($column_name, $id) {

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

add_action("manage_posts_custom_column", "posts_custom_column_views", 5, 2);

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

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

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

// Показ количества просмотров в панели управления

function posts_column_views($defaults) {

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

add_filter("manage_posts_columns", "posts_column_views");


function posts_custom_column_views($column_name, $id) {

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

add_action("manage_posts_custom_column", "posts_custom_column_views", 5, 2);

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

<?php

	if(have_posts()) : while (have_posts()) : the_post();

?>

вставьте:

<?php

	setPostViews(get_the_ID());

?>

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

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

<?php

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

?>

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

0
комментариев
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.