I was working on developing online users plugin recently. Using ajax polling checks I achieve to do it.
Plugin name: Online Plus
Price: 30 USD
How to buy: PM me please
Here how it works:
- The plugin shows current online users
- It checks user's status every 2 minutes using ajax polling. The online/offline timeout can be set by admin. By default it is set as 3 minutes.
- If a user remains actionless for a certain minutes then its status goes to idle. The timeout for idle state can be set by admin. By default it is 5 minutes.
- If a user goes idle, then ajax polling check will run every 4 minutes. It is to mitigate unnecessary poll checks within a time interval.
- If a user logs out then s/he is deleted from the database table for online users immediately.
- If a user closes browser without logging out then s/he is deleted from the database table within online/offline timeout.
- The plugin has a widget for sidebar. In order to not mess up sidebar widget where number of online users are large, the admin can set a limit for displaying users in the widget. By default this limit is set to 10.
- And there will appear a link to "full list of online users" at the bottom of the widget once the number of online users exceeds the display limit. The link will redirect you to the plugins page where you can see all currently online users.
- Admin can set who can see online users.
For USER-LEVEL demo: https://www.e-dostluk.com/q2a-demo/