Zliczanie liczby wyświetleń postów bez użycia pluginu w WordPressie
W sieci dostępna jest cała masa różnych pluginów dla WordPressa umożliwiających zliczanie liczby wyświetleń opublikowanych artykułów. Na pewno każdy kto prowadzi bądź prowadził stronę internetową opartą o WordPressa zetknąć się z taką wtyczką. Są jednak lepsze sposoby na rozwiązanie tego problemu…
Poza instalacją n-tego pluginu możemy na przykład nieco zmodyfikować kod naszego szablonu i dodać automatyczne zliczanie liczby odsłon postów z poziomu PHP. Dane te będziemy przechowywać w tak zwanych meta danych poszczególnych artykułów.
Modyfikacji wymagać będą pliki function.php
oraz single.php
(znajdują się one w katalogu wp-content/themes/nazwa_szablonu
).
Do pliku function.php
musimy dopisać następujące funkcje:
//Post views count //Note: Function does not work with plugins such as WP Super Cache or W3 Total Cache. function countPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count == '') { $count = 1; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '1'); } else { $count++; update_post_meta($postID, $count_key, $count); } }
Natomiast w pliku single.php
musimy uruchomić licznik odsłon:
countPostViews(get_the_ID());
Dane dotyczące liczby odsłon danego wpisu możemy wyświetlić tak:
global $post; echo get_post_meta($post->ID, 'post_views_count', true);
Informacje te można również wykorzystać w widgecie z najpopularniejszymi postami.
UWAGA: Powyższa metoda może dawać niepoprawne wyniki przy włączonym „agresywnym cachowaniu” za pośrednictwem wtyczek takich jak: WP Super Cache lub W3 Total Cache.