Как отобразить количество просмотров постов на экране постов в WordPress
Как блоггер, мы регулярно пишем сообщения для нашего блога. Некоторые сообщения становятся популярными, а некоторые – нет. Но как отследить популярность поста? Очевидно, что количество просмотров конкретной публикации – это способ узнать, насколько популярна наша публикация.
В этой статье мы покажем вам, как отслеживать и отображать количество просмотров публикации на экране публикации. Таким образом, можно легко узнать, как работает каждое сообщение в Интернете.
Нет необходимости использовать плагин
Следуя этому руководству, вам не нужно использовать какой-либо плагин для отслеживания и отображения количества сообщений. Использование плагина добавляет нам дополнительную работу. Нам нужно постоянно следить за плагином. Вы никогда не знаете, когда плагин может сломать ваш сайт, если он не обновляется время от времени. Я всегда предпочитаю писать код самостоятельно, когда это возможно, а не выбирать плагин.
Сохранение количества просмотров публикации в базе данных
Чтобы отобразить количество просмотров на экране публикации, нам нужно сначала сохранить его в базе данных. Откройте файл functions.php и поместите в него приведенный ниже код.
function count_post_views() {
if (is_single()) {
global $post;
$post_id = $post->ID;
$count = 1;
$post_view_count = get_post_meta($post_id, 'views_count', true);
if ($post_view_count) {
$count = $post_view_count + 1;
}
update_post_meta($post_id, 'views_count', $count);
}
}
add_action('wp_head', 'count_post_views');
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Приведенный выше код рассчитывает и сохраняет количество просмотров в таблице postmeta, прикрепленной к идентификатору сообщения. Мы использовали remove_action в приведенном выше коде, чтобы правильно отслеживать счетчик. Без этого действия мы не сможем получить правильный результат для просмотров поста, поскольку он конфликтует с соседним постом.
Отображение количества просмотров публикации на экране публикации
На этом этапе мы завершили процесс сохранения количества просмотров каждого поста в нашей базе данных. Теперь пришло время отобразить количество просмотров на экране публикации на панели инструментов.
Во-первых, нам нужно добавить настраиваемый столбец на экран публикации. Используя приведенный ниже код в файле functions.php, мы добавляем наш столбец «Просмотры сообщений» на страницу со списком сообщений.
add_filter('manage_post_posts_columns', function ($columns) {
if( is_array( $columns) &&! isset( $columns['post_views'])) $columns['post_views'] = __( 'Post Views' );
return $columns;
} );
Затем отобразите количество просмотров в столбце “Просмотры сообщений” для каждого сообщения. Разместите для него приведенный ниже код.
add_action( 'manage_post_posts_custom_column', function ($column_name, $post_id) {
if ($column_name == 'post_views') {
$post_view_count = get_post_meta($post_id, 'views_count', true);
$count = $post_view_count? $post_view_count: 0;
echo $count;
}
}, 10, 2 );
Итак, наш окончательный код будет следующим.
/*Store Post Views Count*/
function count_post_views() {
if (is_single()) {
global $post;
$post_id = $post->ID;
$count = 1;
$post_view_count = get_post_meta($post_id, 'views_count', true);
if ($post_view_count) {
$count = $post_view_count + 1;
}
update_post_meta($post_id, 'views_count', $count);
}
}
add_action('wp_head', 'count_post_views');
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
/*Add custom column on post listing table*/
add_filter('manage_post_posts_columns', function ($columns) {
if( is_array( $columns) &&! isset( $columns['post_views'])) $columns['post_views'] = __( 'Post Views' );
return $columns;
} );
/*Display views count under the custom columns*/
add_action( 'manage_post_posts_custom_column', function ($column_name, $post_id) {
if ($column_name == 'post_views') {
$post_view_count = get_post_meta($post_id, 'views_count', true);
$count = $post_view_count? $post_view_count: 0;
echo $count;
}
}, 10, 2 );
Добавьте приведенный выше код в свой файл functions.php. Таким образом, вы сможете отслеживать и отображать количество просмотров публикации на экране публикации. Если у вас есть вопросы или предложения, оставьте комментарий ниже. Вы также можете прочитать нашу статью о том, как удалить столбцы со страницы сообщения в WordPress.