Finally know who's actually still using this site
Last Login records when every user last signed in and adds a sortable "Last Login" column to the Users list — a record WordPress keeps nowhere at all by default.
- Adds a sortable Last Login column to the Users list.
- Records the exact timestamp on every successful login.
- Shows "Never" clearly for accounts that haven't signed in yet.
- Integrates directly with Custom Content Columns, if active.
What does Last Login do?
When the last_login module is active, TOWP_Last_Login records a timestamp in user meta every time a user successfully logs in, via the wp_login action. A sortable "Last Login" column gets added to the Users list in wp-admin, formatted using the site's own configured date and time settings, showing "Never" for any user who hasn't logged in since the module was activated. Since sorting the column runs a proper numeric sort on the underlying timestamp rather than an alphabetical sort on the displayed date text, dormant accounts group together correctly regardless of date format.
WordPress keeps no record of this at all
Since login activity leaves no trace by default, even a basic question about an account list has no ready answer.
There's no way to answer the most ordinary account question
A site with more than a handful of users has no built-in way to tell which accounts are actually still in use and which have quietly gone dormant.
Dormant accounts are exactly the ones worth closing
A contractor's account from two years ago, or an editor who left the team, is pure risk with no offsetting benefit once nobody's actually using it.
One column, sortable, answering the question directly
The module records the one piece of information WordPress never kept, and surfaces it exactly where an administrator already looks.
A timestamp recorded on every login
Each successful login updates the exact time in user meta, building a genuine record rather than a guess.
Sortable, not just visible
Sorting the Users list by Last Login groups the dormant accounts together instantly, rather than requiring a scroll through every row.
Built to work alongside Custom Content Columns
The column integrates directly with TheOneWP's own column manager, appearing among its default active columns automatically.
A real record, sortable and integrated
Every capability below is present in the supplied PHP class and its settings registration.
A single hook, wp_login
Every successful login updates a timestamp in user meta immediately, building an accurate record with no separate tracking mechanism needed.
Numeric sort on the real timestamp
Sorting switches the underlying query to order by the actual numeric timestamp, not the formatted date text, so dormant accounts group correctly regardless of display format.
No hardcoded date format
The displayed date and time use whatever format is already configured in Settings, Reading, matching the rest of the admin.
Not a blank cell
An account that hasn't logged in since the module was activated shows a clearly labeled "Never" instead of an empty, ambiguous space.
Appears among CCC's default active columns
The column automatically injects itself into Custom Content Columns' own default configuration, so it's already visible without manual setup.
No orphaned column left behind
Turning the module off automatically removes any saved reference to the column from Custom Content Columns' configuration, rather than leaving a dangling entry.
Where seeing last login helps most
The module supports any site where account activity has never been tracked before.
Auditing accounts on a site with many users
Sort by Last Login to find every account that's gone quiet, in one pass, without checking each user individually.
Cleaning up after contractors or former staff
Spot exactly which accounts belong to people who no longer need access, based on actual login activity rather than memory.
General account hygiene as part of routine maintenance
Make a periodic dormant-account review something that takes seconds instead of requiring a manual investigation.
An answer WordPress never gave, right where it's needed
The module combines a genuinely missing piece of information with clean integration into how columns already work.
One write per login, nothing beyond the Users list
The verified implementation keeps its footprint small and tightly scoped.
One meta update per login, nothing more
Recording the timestamp is a single user-meta write that happens exactly once, at the moment of a successful login.
No effect outside the Users list
The column and its sorting logic are scoped entirely to wp-admin's Users screen; nothing runs anywhere else on the site.
A standard indexed sort, not a custom query
Sorting by Last Login uses WordPress's own meta_value_num ordering, the same mechanism used for any other numeric meta-based sort.
Visibility for review, no automatic action taken
The module surfaces exactly what's needed for a human decision, without acting on any account itself.
Surfaces exactly the accounts worth reviewing
A dormant account is a standing risk with no benefit; making it visible is a direct step toward closing that gap.
Read-only with respect to accounts themselves
The module only records and displays login activity; it doesn't lock, disable, or modify any account on its own.
Visible only inside wp-admin's Users screen
The Last Login data appears only where an administrator with access to manage users would already be looking.
Configuration requires the same access as any other setting
Enabling the module happens through the standard TheOneWP settings screen, available only to an administrator.
Built directly around WordPress's own Users list columns
The supplied code integrates through APIs present in WordPress core and TheOneWP's own modules; this page makes no compatibility claim beyond the verified implementation.
wp_login action
The native WordPress action that fires on every successful login, used here to record the timestamp.
manage_users_columns and related filters
The standard WordPress filters used to add, render and sort a custom column on the Users list screen.
towp_ccc_default_active_users_columns filter
A dedicated TheOneWP filter that lets this module register itself as a default active column within Custom Content Columns, if that module is active.
TheOneWP versus common alternatives
Compare the verified Last Login implementation with a typical standalone login-tracking plugin.
| Capability | TheOneWP Last Login | Other common solutions |
|---|---|---|
| Recording login activity | Every successful login, via the native wp_login hook | Often relies on a separate, heavier logging plugin |
| Sorting behavior | A genuine numeric sort on the real timestamp | Some approaches sort alphabetically on the formatted date text, grouping incorrectly |
| Date formatting | Uses the site's own configured date and time format | Frequently hardcoded to a fixed format |
| Custom Content Columns integration | Appears as a default active column automatically | Usually requires manual configuration to surface in a column manager |
| Cleanup on disable | Removes its own column reference automatically | Can leave an orphaned or broken column reference behind |
Find dormant accounts in four steps
Since there's nothing to configure beyond enabling it, using the column is the real workflow here.
Enable Last Login
Activate the module from the TheOneWP Login settings tab; there's nothing further to configure.
Open the Users list
Visit wp-admin's Users screen and find the new Last Login column.
Sort by Last Login
Click the column header to group dormant accounts together, sorted from most recent or oldest.
Review and act on dormant accounts
Use the sorted list to decide which accounts genuinely still need access.
Make it a habit, not a one-time check
The column stays useful only if it actually gets reviewed on some regular basis.
Make dormant-account review a routine, not a one-time check
Since the column stays live and sortable, revisiting it periodically keeps account hygiene current rather than a one-off cleanup.
Confirm before removing access from a dormant account
A long gap since the last login is a strong signal, not automatic proof that access should be revoked immediately.
Pair it with Custom Content Columns for a tailored Users list
Since the module integrates directly, use CCC to decide exactly where the column sits alongside others.
Remember the record starts from activation, not from account creation
An account that logged in once before the module was enabled will show its login only from that point forward, not its full history.
Avoid reading more into the column than it says
A couple of details are worth keeping in mind before acting on what the column shows.
Assuming "Never" means the account is unused historically
"Never" reflects activity since the module was activated, not necessarily the account's entire history.
Sorting by the formatted date text mentally, not the actual column sort
Trust the column's own sort control rather than trying to compare formatted dates visually across many rows.
Removing access from a dormant account without checking first
A long gap since login is a strong signal worth investigating, not by itself a reason to act without confirming the account is genuinely no longer needed.
Last Login FAQ
These answers come directly from the verified class and its settings registration.
What does Last Login do?
It records when each user last signed in and adds a sortable Last Login column to the Users list in wp-admin.
Does WordPress track this by default?
No. WordPress keeps no record of login activity by default; this module adds that tracking specifically.
Can I sort the Users list by Last Login?
Yes. The column sorts numerically by the actual login timestamp, not alphabetically by the displayed date text.
What does the column show for a user who has never logged in?
It shows "Never," clearly styled, instead of leaving the cell blank.
Does this work with Custom Content Columns?
Yes. The column integrates directly and appears among Custom Content Columns' default active columns automatically.
What happens to the column if I disable the module?
Any saved reference to the column in Custom Content Columns gets removed automatically, so nothing orphaned is left behind.
Does the recorded date use a fixed format?
No. It uses the date and time format already configured in the site's own Settings, Reading screen.
Does this track login attempts, or only successful logins?
Only successful logins. The timestamp updates via WordPress's own wp_login action, which fires after a successful authentication.
Does this affect anything outside the Users list?
No. The module's column and sorting logic are scoped entirely to the wp-admin Users screen.
Who can see the Last Login column?
Anyone with access to the Users screen in wp-admin, the same access already required to manage users.
Stop guessing which accounts are still active.See exactly who's logged in, and who hasn't.
Use Last Login to add a sortable record of login activity to the Users list, the one thing WordPress never tracked on its own.

