Jak wyświetlić liczbę wyświetleń postów na ekranie postów w WordPress
Jako bloger regularnie piszemy posty na naszym blogu. Niektóre posty stają się popularne, a inne nie. Ale jaka jest miara, aby sprawdzić, czy post jest popularny, czy nie? Oczywiście, ile razy dany post jest oglądany przez odwiedzającego, jest sposobem na sprawdzenie, jak popularny jest nasz post.
W tym artykule pokazujemy, jak śledzić i wyświetlać liczbę wyświetleń postów na ekranie postów. W ten sposób można łatwo poznać, jak każdy post sprawdza się w Internecie.
Nie ma potrzeby używania wtyczki
Postępując zgodnie z tym samouczkiem, nie musisz używać żadnej wtyczki do śledzenia i wyświetlania liczby postów. Korzystanie z wtyczki dodaje nam dodatkowej pracy. Musimy cały czas pilnować wtyczki. Nigdy nie wiesz, kiedy wtyczka może zepsuć Twoją witrynę, jeśli nie jest aktualizowana co jakiś czas. Zawsze wolę tworzyć własne kodowanie tam, gdzie to możliwe, niż wybierać wtyczkę.
Przechowuj liczbę wyświetleń postów w bazie danych
Aby wyświetlić liczbę wyświetleń na ekranie posta, musimy go najpierw zapisać w bazie danych. Otwórz plik functions.php i umieść w nim poniższy kod.
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);
Powyższy kod oblicza i przechowuje liczbę wyświetleń w tabeli postmeta dołączonej do identyfikatora posta. Użyliśmy akcji remove_action w powyższym kodzie, aby zachować prawidłowe śledzenie liczby. Bez tej akcji nie możemy uzyskać poprawnego wyniku dla wyświetleń posta, ponieważ jest to sprzeczne z sąsiednim postem.
Wyświetl liczbę wyświetleń postów na ekranie postów
Na tym etapie zakończyliśmy proces przechowywania liczby wyświetleń dla każdego posta w naszej bazie danych. Teraz nadszedł czas, aby wyświetlić naszą liczbę wyświetleń na ekranie postu na desce rozdzielczej.
Najpierw musimy dodać niestandardową kolumnę do ekranu posta. Używając poniższego kodu w pliku functions.php, dodajemy naszą kolumnę „Wyświetlenia postów" do strony z listą postów.
add_filter('manage_post_posts_columns', function ($columns) {
if( is_array( $columns) &&! isset( $columns['post_views'])) $columns['post_views'] = __( 'Post Views' );
return $columns;
} );
Następnie wyświetl liczbę wyświetleń w kolumnie „Wyświetlenia postów” dla każdego posta. Umieść dla niego poniższy kod.
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 );
Więc nasz ostateczny kod wyglądałby następująco.
/*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 );
Dodaj powyższy kod do pliku functions.php. W ten sposób będziesz mógł śledzić i wyświetlać liczbę wyświetleń postów na ekranie postów. Jeśli masz jakieś pytania lub sugestie, zostaw komentarz poniżej. Możesz również przeczytać nasz artykuł na temat usuwania kolumn ze strony postu w WordPress.