Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

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…

wordpress-cms

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.

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

, , , , ,

Dodaj komentarz

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest