Title: WP Last Login
Author: Konstantin Obenland
Published: <strong>January 22, 2012</strong>
Last modified: May 28, 2026

---

Search plugins

![](https://ps.w.org/wp-last-login/assets/banner-772x250.png?rev=3527809)

![](https://ps.w.org/wp-last-login/assets/icon.svg?rev=3527809)

# WP Last Login

 By [Konstantin Obenland](https://profiles.wordpress.org/obenland/)

[Download](https://downloads.wordpress.org/plugin/wp-last-login.7.zip)

[Live Preview](https://scn.wordpress.org/plugins/wp-last-login/?preview=1)

 * [Details](https://scn.wordpress.org/plugins/wp-last-login/#description)
 * [Reviews](https://scn.wordpress.org/plugins/wp-last-login/#reviews)
 *  [Installation](https://scn.wordpress.org/plugins/wp-last-login/#installation)
 * [Development](https://scn.wordpress.org/plugins/wp-last-login/#developers)

 [Support](https://wordpress.org/support/plugin/wp-last-login/)

## Description

**WP Last Login** records when each user signs in and surfaces it as a sortable 
column on the Users screen — so you can see who’s active, identify dormant accounts,
and confirm that real people are coming back.

**Features**

 * Sortable “Last Login” column on the Users screen, including the network admin
   user list on multisite.
 * Hover any date to reveal the exact login time.
 * Captures logins via the standard `wp_login` action, so it works with any login
   flow that triggers it — including the [Two Factor](https://wordpress.org/plugins/two-factor/)
   plugin, WooCommerce, BuddyBoss, and most social-login plugins.
 * Users without a recorded login show a neutral em-dash (—) — never a misleading“
   never” — and still sort correctly when ordered by last login.
 * Lightweight: one user meta key, no settings page, no extra database tables.
 * Filter hooks let you customize the date format or hide the column from non-admin
   roles.

### Plugin Filter Hooks

**wpll_current_user_can** (_boolean_)

> Whether the column is supposed to be shown.
>  Default: true

**wpll_date_format** (_string_)

> The date format string for the date output.

## Screenshots

[⌊Last login column in the user table.⌉⌊Last login column in the user table.⌉[

Last login column in the user table.

## Installation

 1. Download WP Last Login.
 2. Unzip the folder into the `/wp-content/plugins/` directory.
 3. Activate the plugin through the ‘Plugins’ menu in WordPress.

## FAQ

### Why does the column show an em-dash (—) for all my users?

The plugin records a login when a user signs in _after_ it’s been activated. WordPress
doesn’t store historical login data, so existing accounts will start populating 
their “Last Login” the next time each user logs in. Hovering the dash shows a tooltip
explaining the same.

### How do I change the date format or show the time?

The date follows your site’s general date format (Settings  General); the exact 
time appears on hover. To override the date format, use the `wpll_date_format` filter:

    ```
    add_filter( 'wpll_date_format', function() {
        return 'Y-m-d H:i';
    } );
    ```

### How do I hide the column from non-admin users?

Filter `wpll_current_user_can` and return a capability check. Login tracking still
happens — only column visibility is gated:

    ```
    add_filter( 'wpll_current_user_can', function() {
        return current_user_can( 'manage_options' );
    } );
    ```

### Does it work with multisite, Two Factor, WooCommerce, BuddyBoss, or social login plugins?

Yes. The plugin hooks into WordPress’s standard `wp_login` action, so any login 
method that triggers it is captured. The Two Factor plugin (which interrupts `wp_login`)
is supported via a dedicated hook.

### What happens to my data if I deactivate the plugin?

Deactivating leaves stored login timestamps intact, so reactivating preserves history.
Uninstalling (deleting the plugin entirely) removes all of the plugin’s user meta.

## Reviews

![](https://secure.gravatar.com/avatar/ecc227769daefb7a818965d0dae0efb2811d4a5535ca6a00ebea98820290c685?
s=60&d=retro&r=g)

### 󠀁[Very useful](https://wordpress.org/support/topic/very-useful-3700/)󠁿

 [Joris Le Blansch](https://profiles.wordpress.org/apiosys/) January 1, 2026

Simple, yet very useful plugin. Using it on dozens of sites I manage.

![](https://secure.gravatar.com/avatar/f75b51b22acc316a13f39c230d06c42127d4f0fcf83a6ff17de6b08592ba23a9?
s=60&d=retro&r=g)

### 󠀁[as perfect as simple](https://wordpress.org/support/topic/as-perfect-as-simple/)󠁿

 [amiens80](https://profiles.wordpress.org/amiens80/) October 4, 2024

this is the kind of plugin i love : just install, activated, no need setting, it
runs fine! no need support. As an english person, i have no need to translate it
at all. Great one ! Work fine on wp 6.6.2 and wp 6.6.1 ps : I would request another
tiny feature : add the last ip of login date !

![](https://secure.gravatar.com/avatar/b9a182d38d921269ac718934cd3409ec69a6030d4ab9b3a12fa45da7acc870b2?
s=60&d=retro&r=g)

### 󠀁[Works WP 6.5](https://wordpress.org/support/topic/works-wp-6-5/)󠁿

 [flyingkites](https://profiles.wordpress.org/flyingkites/) April 3, 2024

Switched to this plugin as another similar plugin by YooHoo was incompatible with
TwoFactor. This works with both TwoFactor and Limit Login Attempts plugins. [Anyone
who says it does not work likely has a code conflict with another plugin]

![](https://secure.gravatar.com/avatar/43ee378e90b73c9da2f7f08d718a9cafb904b6ca7d0df77f14ed7534b76f3a69?
s=60&d=retro&r=g)

### 󠀁[Excellent + now compatible with Two Factor](https://wordpress.org/support/topic/excellent-now-compatible-with-two-factor/)󠁿

 [DigitalGdn](https://profiles.wordpress.org/bkno/) December 27, 2023

Well maintained plugin. This is the only ‘last login’ plugin I have found that supports
two factor.

![](https://secure.gravatar.com/avatar/37facd0cc4fcd291eed0963ebcdb1b9984be2d9337f09ff8460c488996aca1cc?
s=60&d=retro&r=g)

### 󠀁[Doesn’t work, sadly](https://wordpress.org/support/topic/doesnt-work-sadly-3/)󠁿

 [editorialteamnwu](https://profiles.wordpress.org/editorialteamnwu/) January 30,
2023

Totally useless: every user is listed as never having logged in, even the one I’m
currently logged in as to view this. Two stars instead of one because at least it
didn’t seem to break anything.

![](https://secure.gravatar.com/avatar/d521be553f4b10a63156661cca607e30633ff919bdfdf4f3989abc3be7ba841d?
s=60&d=retro&r=g)

### 󠀁[Is not reliable](https://wordpress.org/support/topic/is-not-reliable-2/)󠁿

 [Dirk](https://profiles.wordpress.org/dirkhag/) November 18, 2019 4 replies

It shows users as Login “Never” even the users have been logged in. I decided on
this information to delete users! Good luck, I had an early backup of the database!
Do not trust in this Plugin!

 [ Read all 25 reviews ](https://wordpress.org/support/plugin/wp-last-login/reviews/)

## Contributors & Developers

“WP Last Login” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ Konstantin Obenland ](https://profiles.wordpress.org/obenland/)

“WP Last Login” has been translated into 11 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/wp-last-login/contributors)
for their contributions.

[Translate “WP Last Login” into your language.](https://translate.wordpress.org/projects/wp-plugins/wp-last-login)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wp-last-login/), check
out the [SVN repository](https://plugins.svn.wordpress.org/wp-last-login/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/wp-last-login/) 
by [RSS](https://plugins.trac.wordpress.org/log/wp-last-login/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 7

 * Added compatibility with Two Factor plugin. Props @bkno.
 * Improved date display to display login time on hover.

#### 6

 * Revamped file structure to remove unnecessary files.
 * Fixed a bug where login dates were overwritten on plugin reactivation. Props @
   richardbuff.

#### 5

 * Improved uninstall routine (no longer queries all users).
 * Updated utility class.
 * Tested with WordPress 6.1.

#### 4

 * Improved date display to account for the timezone of the site. Props @knutsp.

#### 3

 * Fixed a bug where users who haven’t logged in disappear from user lists when 
   ordering by last login. See https://wordpress.org/support/topic/new-users-dont-
   get-the-meta-field/

#### 2

 * Maintenance release.
 * Updated code to adhere to WordPress Coding Standards.
 * Tested with WordPress 5.0.

#### 1.4.0

 * Fixed a long standing bug, where sorting users by last login didn’t work.
 * Tested with WordPress 4.3.

#### 1.3.0

 * Maintenance release.
 * Tested with WordPress 4.0.

#### 1.2.1

 * Reverts changes to wp_login() as the second argument seems not to be set at all
   times.

#### 1.2.0

 * Users are now sortable by last login!
 * Updated utility class.
 * Added Danish translation. Props thomasclausen.

#### 1.1.2

 * Fixed a bug where content of other custom columns were not displayed.

#### 1.1.1

 * Updated utility class.

#### 1.1.0

 * Made the display of the column filterable.
 * Widened the column a bit to accommodate for large date strings.

#### 1.0

 * Initial Release.

## Meta

 *  Version **7**
 *  Last updated **1 month ago**
 *  Active installations **10,000+**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Arabic](https://ar.wordpress.org/plugins/wp-last-login/), [Danish](https://da.wordpress.org/plugins/wp-last-login/),
   [Dutch](https://nl.wordpress.org/plugins/wp-last-login/), [English (US)](https://wordpress.org/plugins/wp-last-login/),
   [Finnish](https://fi.wordpress.org/plugins/wp-last-login/), [French (France)](https://fr.wordpress.org/plugins/wp-last-login/),
   [German](https://de.wordpress.org/plugins/wp-last-login/), [Italian](https://it.wordpress.org/plugins/wp-last-login/),
   [Norwegian (Bokmål)](https://nb.wordpress.org/plugins/wp-last-login/), [Spanish (Chile)](https://cl.wordpress.org/plugins/wp-last-login/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/wp-last-login/), and [Swedish](https://sv.wordpress.org/plugins/wp-last-login/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/wp-last-login)
 * Tags
 * [admin](https://scn.wordpress.org/plugins/tags/admin/)[last login](https://scn.wordpress.org/plugins/tags/last-login/)
   [login](https://scn.wordpress.org/plugins/tags/login/)[user](https://scn.wordpress.org/plugins/tags/user/)
 *  [Advanced View](https://scn.wordpress.org/plugins/wp-last-login/advanced/)

## Ratings

 3.7 out of 5 stars.

 *  [  13 5-star reviews     ](https://wordpress.org/support/plugin/wp-last-login/reviews/?filter=5)
 *  [  3 4-star reviews     ](https://wordpress.org/support/plugin/wp-last-login/reviews/?filter=4)
 *  [  2 3-star reviews     ](https://wordpress.org/support/plugin/wp-last-login/reviews/?filter=3)
 *  [  3 2-star reviews     ](https://wordpress.org/support/plugin/wp-last-login/reviews/?filter=2)
 *  [  4 1-star reviews     ](https://wordpress.org/support/plugin/wp-last-login/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wp-last-login/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wp-last-login/reviews/)

## Contributors

 *   [ Konstantin Obenland ](https://profiles.wordpress.org/obenland/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wp-last-login/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K32M878XHREQC)