Freeform Login Shortcode Guide

Place either the complete login form or only its passkey button in a post or page. Choose the shortcode for your workflow and add only the attributes you need.

Complete Login Form

[atshift_login] displays the username or email field, password field, Remember Me option, login button, and lost-password link. On sites where they are available, passkey login and Jetpack SSO are added to the same form.

Basic form

[atshift_login]

Redirect to a member page after login

[atshift_login redirect="/my-account/"]

Control elements and add a CSS class

[atshift_login show_lost_password="false" remember="false" jetpack="hide" class="member-login"]
AttributeDefaultDescription
redirectSite homeDestination after login. Use a relative path or URL on the same site.
show_lost_passwordtrueSet to false to hide the lost-password link.
remembertrueSet to false to remove the Remember Me option from the form.
jetpackautoSet to hide to hide the Jetpack button. Jetpack authentication remains visible when the site requires SSO.
classNoneCSS classes added to the outer element. Separate multiple classes with spaces.

Passkey Button Only

[atshift_passkey_login] displays only the passkey login button, without username or password fields. Place it near a login form already supplied by WP-Members, another plugin, or your theme.

Basic button

[atshift_passkey_login]

Set the redirect, persistent login, and a CSS class

[atshift_passkey_login redirect="/my-account/" remember="true" class="member-passkey"]
AttributeDefaultDescription
redirectSite homeDestination after passkey login. Use a relative path or URL on the same site.
rememberfalseSet to true to request WordPress's persistent login cookie. Do not use it on a shared device.
classNoneCSS classes added to the outer element, useful for spacing beside an existing form.

The button is omitted when the visitor is logged in, passkeys are unavailable, the site has no registered passkey, or Jetpack disables local login.

Before Using Passkeys

Passkeys require PHP 8.3 or later, the PHP JSON and OpenSSL extensions, and HTTPS. Localhost is also supported for development.

  1. Log in to WordPress using your existing method.
  2. Open Users > Profile.
  3. Select Add passkey and complete verification with device biometrics, a PIN, or a security key.
  4. Add more passkeys for the devices or storage providers you regularly use when needed.

Password login remains available after adding a passkey. Keep a long, unique fallback password and store it in a password manager.

Before Publishing

  • Paste the shortcode into a Shortcode block in a post or page.
  • redirect accepts destinations on the same WordPress site. External URLs fall back to the site home.
  • Write true and false in lowercase ASCII and wrap attribute values in quotation marks.
  • Avoid placing complete login forms from multiple plugins in the same location. Keep one standard form and add only the standalone passkey button when needed.