WordPress plugin intelligence profile

T2F Two-Screen Login Form

An Amazon-style two-screen login: enter your email first, then your password on a second screen. Added to any page with a shortcode.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.1.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 5.6 · PHP 7.4
Directory statusactive
Last directory update14 Sept 20261mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records T2F Two-Screen Login Form version 1.1.0 as active, updated 1mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Most front-end login forms put the email and password on one screen. Big consumer

sites (Amazon, Google, PayPal…) split it in two: you type your email, press

Continue, and only then are you asked for your password.

T2F Two-Screen Login Form brings that flow to WordPress as a shortcode you can drop on

any page:

[two_step_login]

How it works

  • Step 1 — identifier. The visitor enters their email (optionally username too)

and presses Continue. By default this transition happens entirely in the

browser — no server request — so the endpoint only ever sees the final submit.

  • Step 2 — password. The email is shown with a Change link back to step 1.

The visitor enters their password, optionally ticks Remember me, and signs in.

  • On success the browser is redirected (to?redirect_to= if present and on-site,

otherwise to the page you configure — the WooCommerce account page by default,

or the site home).

Everything happens without a full page reload until the final redirect.

Keeping the load down

Because step 1 is resolved client-side, a normal sign-in makes exactly one

php call. Failed password attempts are rate-limited per IP address

and per email in a short rolling window before WordPress authentication runs,

and an off-screen honeypot field plus a minimum fill-time check drop obvious bot

submissions without the (CPU-heavy) password hash. Together these keep

credential-stuffing traffic from turning the login page into a load problem.

(When Unknown accounts is set to reveal missing accounts, step 1 still needs a

)

Privacy

By default the two possible step-1 responses are identical whether or not an account

exists, and failed logins return a single generic message — so the form cannot be

used to discover which email addresses have accounts. A setting lets you turn on

explicit “no account found” messages if you prefer Amazon’s behaviour.

Settings (Settings → Two-Screen Login)

  • First step accepts — email only, or email or username.
  • Unknown accounts — stay silent (default) or say when no account matches.
  • Rate limiting — throttle repeated failed logins per IP / email (on by default).
  • Redirect after login — a URL, or blank for the account page / home.
  • Lost-password URL — a URL, or blank for the default WordPress reset page.

For developers

add_filter( 'tslf_redirect_url', function ( $url ) { return home_url( '/dashboard/' ); } ); add_filter( 'tslf_lostpassword_url', function ( $url ) { return '/forgot/'; } ); add_filter( 'tslf_template', function ( $path, $name, $args ) { return $path; }, 10, 3 ); add_filter( 'tslf_logged_in_notice', function ( $html, $user ) { return $html; }, 10, 2 ); add_action( 'tslf_logged_in', function ( $user ) { /*... */ } );

// Abuse mitigation. add_filter( 'tslf_throttle', function ( $c ) { $c['id_max'] = 5; return $c; } ); // window, ip_max, id_max add_filter( 'tslf_min_fill_ms', function () { return 2000; } ); add_filter( 'tslf_client_ip', function ( $ip ) { return $_SERVER['HTTP_CF_CONNECTING_IP']?? $ip; } );

php )

can be swapped with the tslf_template filter. Style hooks are plain classes

tslf-submit ) and CSS custom

properties ( --tslf-accent, --tslf-border, …).

Notes & limitations

  • This is a front-end form for a page of your choosing. It does not replace

php or change wp-admin.

  • No social login, no 2FA — those are separate concerns handled by other plugins.
  • If you serve the login page from a full-page cache, exclude it (or its nonce may

age out for logged-out visitors after ~12 hours).

  • Translations (including Brazilian Portuguese) are managed on

org, not bundled with the plugin. The text domain is

t2f-two-screen-login.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • front end login
  • login form
  • authentication
  • shortcode
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 5.6 · PHP 7.4
Update activity14 Sept 20261mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.0.01.1.0
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.