Plugin „licznik odwiedziń”

Dzisiaj opublikowałem w katalogu WordPress’a swój pierwszy plugin 🙂 Jest to prosta wtyczka umożliwiająca wyświetlenie ilość osób aktualnie znajdujących się na stronie i ilość osób, które stronę odwiedziły. Można go znaleźć na tej stronie. Mam nadzieję, że komuś przyda się on na stronie. Na mojej stronie w sidebarze po prawej stronie można zobaczyć „efekty” jego działania.Zasada działania pluginu jest bardzo prosta:

W bazie danych przechowywane są dane: IP użytkownika – czas wejścia na stronę
Po wejściu na stronę skrypt wykonuje kilka prostych operacji:

  1. Sprawdza czy użytkownik z danego adresu IP jest już na stronie (jest wpis z jego adresem IP w bazie). Jeżeli tak, to aktualizuje czas wejścia na stronę na aktualny Jeżeli nie – dodaje nowy wpis (adres IP i bieżący czas) do bazy.
  2. Jeżeli użytkownik jest nowy na stronie, tzn. nie było jego wpisu w bazie i trzeba było dodać nowy to zwiększany jest również ogólny licznik odwiedzin strony.
  3. Z bazy kasowane są wszystkie wpisy których czas wejścia na stronę jest mniejszy niż ‚bieżący czas – ustalony limit (np. 120s.)’ – czyli w skrócie usuwane są wpisy użytkowników, którzy już od dawna nie odświeżyli strony i zakładamy, że już na stronie „nie są”.
  4. Pobiera z bazy liczbę wpisów (para adres IP – czas wejścia na stronę) jakie zostały w bazie. Jest to liczba osób online na stronie.

I to w skrócie cały opis działania tego prostego pluginu. Zrobiłem go ponieważ potrzebowałem takiej wtyczki na stronie jednej z moich klientek. Zdaję sobie sprawę, że może ona być niezbyt dokładna, ale w sytuacji gdy chcemy na stronie wyświetlić orientacyjną ilość osób online to powinna wystarczyć.

Jeżeli macie jakieś uwagi do działania tej wtyczki lub moje założenia są złe – proszę o uwagi w komentarzach. Chętnie poprawię co będzie konieczne.

Zostawić komentarz ?

21 Komentarze.

  1. Cześć!
    Dokładnie czegoś takiego szukałem, jednak po zainstalowaniu i włączeniu wtyczki nie pojawił się licznik na moich stronach. Nie widzę również odpowiedniego widgeta do umieszczenia. Proszę o podpowiedź, co muszę zrobić, aby licznik pojawił się na stronach.
    pozdrawiam

    • Niestety nie jest to widget.
      Żeby plugi działał musisz umieścić gdzieś w motywie (np. w pliku header.php bo jest ładowany zawsze, albo tam gdzie ma być umieszczony licznik) dodać taki kod:

      < ?php $counter = new visits_counter(); $count_values = $counter->vc_count_users();
      ?>

      Później tam gdzie chcesz wyświetlić licznik dodaj:

      <div id="online_users"$gt;Liczba użytkowników aktualnie na stronie: < ?php echo $count_values['online_users'];?>;
      <div id="overall_counter">Liczba osób które odwiedziły stronę od < ?php echo $count_values['counterStartTime'];?>: < ?php echo $count_values['overall_counter'];?>

      Ja u siebie umieściłem wszystko w pliku footer.php.

  2. Zamieść proszę pełny kod footer.php Dodałem te kody u siebie, ale coś źle się wyświetla (tylko fragment kodu zamiast liczby).

    • Możesz pobrać plik footer.php z mojego motywu tu
      Jak będziesz miał jeszcze jakieś pytania lub problemy to pisz tutaj lub na adres slawek1082 [at] wp.pl – postaram się pomóc 🙂

  3. Wielkie dzięki!!! Uporałem się :). Mam tylko problem z polską czcionką, ale to pikuś. Jeśli mogę tylko coś zasugerować to chyba niepotrzebna jest godzina. Pzdr.

  4. Hi, you made a nice visitor counter. I miss only one thing – to count visitors for today.
    Is this possible to implement?

  5. Hej, chciałbym dodać Twoja wtyczke do WordPress Multisite. Po zainstalowaniu działa poprawnie tylko strona główna a inne blogi (przyklad.blog.com) wskazuja tylko 0. Co należy dodać do kodu aby działała wtyczka dla wszystkich użytkowników? Pozdrawiam

    • Dzięki za zainteresowanie moim pluginem 🙂
      Nawet do dzisiaj nie wiedziałem, że jest coś takiego jak multisite i jak to dokładnie działa 🙂
      Sprawdziłem więc dzisiaj działanie tej wtyczki na takich blogach multisite i wprowadziłem trochę poprawek. Nie zdążyłem jednak tego jeszcze dokładnie przetestować (z pobieżnych testów wynika, że powinna działać prawidłowo), ale jakbyś chciał sprawdzić poprawioną wersję to możesz ją pobrać pod adresem http://cloud.kaplonski.pl/apps/files_sharing/get.php?token=0976ee5a1ba57bf8541e719794e685ddd7712cf8
      Daj znać jak ją sprawdzisz – jak będzie wszystko ok. to wrzucę na serwer wordpress nową wersję a jak znajdziesz jakieś błędy to opisz je a postaram się je poprawić 🙂

      • Hej, dzięki za szybką odpowiedź. włącze dzisiaj wtyczkę na blogg.pl dla wszystkich użytkowników. Jeśli będą jakieś problemy to feedback do Ciebie prześlę. PS: Polskie tłumaczenie brakuje: This week oraz jest ń na końcu w tłumaczeniu Visits Counter Widget (Licznik Odwiedziń). Pozdrawiam

      • OK, pierwszy błąd jaki widze to przy włączaniu dla całej sieci, wtyczka nie zostaje aktywowana poprawnie. Moi użytkownicy nie maja dostępnu do ustawień wtyczek. Ja włączam/wyłączam dla wszystkich lub dla danego użytkownika osobno. Aby twoja wtyczka działała poprawnie, w chwili obecnej musze ją manualnie aktywować do każdego bloga osobno co przy większej ilości blogów stanowi problem.

        • Sprawdzałem to na WordPress 3.3.2 i włączałem plugin w sekcji zarządzania pluginami dla wszystkich stron (korzystając z „Network Activate”) i nie było żadnego problemu. Utworzyły się tabele dla wszystkich stron w bazie – wyglada że działa to poprawnie.
          Jakiej wersji WordPress’a ty używasz?

          • Hej, 3.3.2 takiej jak ty, nie wiem dlaczego u mnie się pojawia ten błąd. Po włączeniu dla wszystkich blogów wtyczka pokazuje 0 cały czas. Manualnie jak włączam dla każdego bloga osobno wszystko działa poprawnie. Włącze jutro dla całej sieci i poproszę użytkowników o feedback. Prześle najnowsze info dla Ciebie. PS: Dodam link do twojej strony w adminie jeśli chcesz. Podaj tylko do której 😉 Pozdrawiam i z góry dziękuje.

          • Napisz mi jeszcze dokładnie jaki to błąd się pojawia. Naprawdę nie wiem co może być nie tak. U mnie sprawdzałem kilka razy i było zawsze ok :/
            A co do linka to jeżeli chcesz to możesz wstawić link do głównej strony kaplonski.pl 🙂

          • Hej, w google chrome na dole mam tylko info waiting for blogg.pl… po 3-4 minutach mam 404 strone. Caly czas moge wtyczke aktywowac manualnie dla kazdego blogga osobno. Wtedy wszystko jest ok.

  6. Hej,
    Próbuję dodać Twoją wtyczkę „Simple Visitors Counter” na kolejnej ze swoich stron. Problem jest jednak z wyszukaniem tej wtyczki po nazwie w WP/CP. Wklejam nazwę klikam szukaj i na zadnej ze zwróconych dwóch stron nie ma tej wtyczki. Jak ją wyszukać?

    • Wtyczkę możesz pobrać samodzielnie i wgrać ją po prostu na serwer do katalogu wp-content/plugins a następnie włączyć w panelu WordPress’a.
      Nie wiem dlaczego nie pojawia się w wynikach wyszukiwania w samym wordpress’ie – to raczej pytanie do deweloperów samego WordPress’a. Wtyczka na pewno jest do pobrania z ich serwerów.

  7. Hej, świetna wtyczka. Takiej właśnie szukałem. Prosta i bardzo prosta w obsłudze. Co najważniejsze tekstowa – szukałem innych liczników i wszystkie są graficzne, a jak dla mnie po prostu wyglądają jak z tamtej epoki.

    Mam tylko jedno małe pytanie. Licznik działa na stronie głównej – domena.pl, ale problem się pojawia z tym, że licznik pokazuje zero wejść na pod stronie (w innej języku) – domena.pl/en/
    Nie chodzi mi o to żeby od razu licznik zliczał oddzielnie wejścia na tę konkretną stronę. Wystarczy że po prostu pokażę tę samą liczbę wejść co na stronie głównej. Da się tak? Mam nadzieje że wyjaśniłem problem 😉

    • Dzięki za miłe słowa 😉
      Co do twojego błędu to napisz mi (może być na maila podanego na stronie z zakładce „kontakt” czy pod adresem domena.pl/en jest skrypt korzystającyh z tej samej bazy czy może z innej. Może korzystasz z jakiejś wtyczki do prowadzenia strony w kilku językach. Nie sprawdzałem tej wtyczki w takiej konfiguracji więc nie wiem co może być nie tak. Jak będę miał więcej informacji to postaram się odtworzyć u siebie taką konfigurację i sprawdzić co powoduje problem.

  8. Wie ktoś gdzie edytować nazwę licznika?

    • Właśnie umieściłem w katalogu plugin’ów wordpress’a nową wersję licznika. Wersja ta posiada teraz możliwość edycji etykiet i tytułu widget’u z poziomu panelu administracyjnego 🙂

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Korzystanie z Serwisu oznacza zgodę na wykorzystywanie plików cookie. Akceptuję