Description
Add Clerk visitor sign-in, account controls, and organization components to your
WordPress site using dedicated blocks or shortcodes.
An independent integration. Not affiliated with, endorsed by,
or maintained by Clerk.
What you can add
- Authentication: Sign In, Sign Up, and Google One Tap.
- Accounts: User Button and User Profile.
- Organizations: Organization Switcher, Organization Profile, Organization List, and Create Organization.
- Billing and access requests: Pricing Table and Waitlist.
- Conditional content: Clerk Show displays nested blocks to signed-in or signed-out Clerk visitors.
Search for Clerk in the block inserter to add an individual component, or use
a shortcode such as [clerk component="sign-in"]. Existing generic Clerk
Component blocks remain supported and can be converted to their matching
dedicated block.
Get started
- Create or choose a Clerk application.
- Save its publishable key under Settings > Visitor Components for Clerk.
- Add a Clerk block or shortcode to a page and view the published page.
Clerk visitor login stays separate from WordPress accounts and wp-admin.
Only publishable keys are used. Never enter a Clerk secret key.
A Clerk account/application is required. Some Clerk service features may require
a paid plan. See External services and privacy below for details about
browser requests and third-party services.
Match your site’s appearance
Settings are grouped into General, Appearance, Layout and links,
Advanced, and Experimental.
- Theme presets: Default, Simple, Dark, Shades of Purple, Neobrutalism, and shadcn. The shadcn preset requires compatible CSS variables and utility styles supplied by your WordPress theme.
- Appearance variables: Color pickers and typography/sizing controls. Blank fields inherit theme defaults. Reset appearance overrides clears only custom variables.
- Layout and links: Configure social buttons, logo placement, card elevation, animations, automatic focus, avatar shimmer, optional fields, and help, terms, privacy, and logo URLs. Choose Inherit default or leave URLs blank to use Clerk defaults. URL overrides require full HTTP/HTTPS addresses without embedded credentials. Reset appearance options preserves variables, theme, and publishable key.
- Provider parameters: Under Advanced > Provider parameters, configure sign-out, authentication, waitlist, and post-checkout URLs using site-relative paths or full HTTP/HTTPS URLs. Forced authentication redirects take precedence over fallbacks. Blank fields keep existing defaults; reset clears only provider parameters.
Preview components in the editor
Interactive live previews use your saved settings and Clerk visitor session.
- Previews start closed. Open Preview and Close Preview toggle the inline component.
- Refresh preview reloads changed settings.
- Open in new tab provides a full browser view for authentication providers that disallow embedded pages.
- Preview height follows the control and expands for dialogs. Disabled Clerk Billing displays setup guidance rather than a generic loading error.
Preview interactions affect your Clerk account. Site theme styles and custom
fonts may differ from the preview.
Standalone panels use hash routing: place one authentication/profile panel per
page. Multiple User Buttons and Organization Switchers are supported.
Component requirements
- Organization components: Enable Organizations in your Clerk application.
- Pricing Table: Enable Clerk Billing and publish plans. Select user or organization plans in the editor. Organization plans require a signed-in visitor and active organization.
- Waitlist: Enable Waitlist mode in Clerk.
- Google One Tap: Enable Google and Google One Tap in Clerk. The component requests one browser-controlled prompt for signed-out visitors, shared across placements. The browser may suppress it. Use Open in new tab if the embedded prompt is blocked.
Conditional content with Clerk Show
Nest blocks inside Clerk Show to display them to signed-in or signed-out Clerk
visitors. Content starts hidden until Clerk loads and follows session changes.
Clerk Show controls visibility only. All nested content remains in public HTML.
Do not use it to protect private content or authorize access.
Nested output is filtered using WordPress’s permitted post HTML, retaining the
hidden attribute on div elements for nested Show compatibility. Ordinary blocks and Clerk
components are supported. Scripts, iframe embeds, forms, and other markup not
permitted in post HTML may be removed; place those blocks outside Clerk Show.
Experimental localization
Enable experimental localization to follow WordPress’s current site/page
language in components, dialogs, and live previews. Translations load only when
enabled. Unsupported languages or download failures use English.
This setting does not localize Clerk’s hosted Account Portal or
browser-controlled prompts.
Source and licenses
Readable JavaScript/SCSS source and build tools are included in the release ZIP.
See README.md for rebuilding and THIRD-PARTY-NOTICES.txt for bundled licenses.
External services and privacy
Clerk
This plugin requires a Clerk account/application. Clerk provides the visitor
authentication, sessions, account and organization controls, and optional billing
and waitlist features. Some Clerk service features may require a paid plan.
When configured components or Clerk Show blocks render, the visitor’s browser
contacts the Frontend API domain of the configured Clerk application to download
the browser SDK/UI and use Clerk’s services. Authorized live editor previews also
contact Clerk when opened. The plugin sends the public publishable key in its
browser configuration. Clerk requests carry network information such as IP address
and browser information, session/authentication information, and data visitors
submit in the enabled controls. Depending on the action, this can include email
addresses, profile information, organization changes, or billing/waitlist data.
Not every component collects every type of data.
Clerk manages its own session storage. This plugin stores no Clerk secret keys,
does not create WordPress users, and keeps Clerk login separate from WordPress
login. No Clerk requests are initiated by the plugin without a configured key
and a rendered component/Show block or opened live preview.
- Service provider: Clerk, Inc.
- Terms of service
- Privacy policy
Clerk Billing / Stripe
If the site owner enables Clerk Billing and a visitor opens checkout from a
Pricing Table or account/organization billing control, Clerk uses Stripe for
payment processing. The payment flow sends payment-method details entered by the
visitor, customer/billing information and transaction information to Stripe.
Browser requests associated with payment collection may also include IP address,
browser information and fraud-prevention signals. This is conditional on using
the billing/payment flow; installing the plugin alone does not submit payment
information. This plugin does not store card details or use a Stripe secret key.
- Service provider: Stripe.
- Terms of service
- Privacy policy
- Clerk Billing documentation
Custom logo images
If the site owner configures a logo image URL, Clerk components may request that
image when displayed, including authorized live previews. For a remote URL, the
image host receives the image request and network information such as IP address
and browser information. Referrer and cookie transmission depends on browser and
host policies. Use an image hosted on your own site where possible. If choosing
an external image service, identify that service and its terms/privacy policy in
your site’s privacy notice. The plugin supplies no default external logo host.
Logo destination, help, terms and privacy links navigate when clicked.
Google One Tap and other identity providers
The optional Google One Tap component uses Google’s identity service through
Clerk. When placed on a page for a signed-out visitor, it asks Clerk to open the
Google prompt; the Clerk application must have Google One Tap enabled and the
browser may suppress the prompt. The browser contacts Google as part of this
flow, sending network/browser information and authentication request information.
If the visitor proceeds, Google supplies the account identity/authentication
credential used by Clerk to sign in or sign up that visitor. Placing the component
does not grant Google Workspace directory access.
- Service provider: Google LLC.
- Terms of service
- Privacy policy
Other social or enterprise providers enabled by the site owner in Clerk may be
contacted when a visitor chooses those sign-in methods. The chosen provider
receives the authentication request and returns identity information to Clerk
according to that provider’s configuration and policies. Site owners should
identify their enabled providers and applicable policies in their site privacy
notice. No additional identity provider is selected or enabled by this plugin.
Examples of conditional providers and their policies are:
- Microsoft personal accounts: Microsoft Services Agreement and Microsoft Privacy Statement.
- Apple accounts: Apple Account terms, Sign in with Apple & Privacy, and Apple Privacy Policy.
- GitHub: GitHub Terms of Service and GitHub General Privacy Statement.
Microsoft Entra organizational sign-in uses the organization’s configured tenant
and applicable Microsoft commercial agreement. The personal-account Services
Agreement above is not a substitute for those organizational terms. Site owners
should review their applicable Microsoft Product Terms
and Microsoft’s Products and Services Data Protection Addendum
and explain their organization’s handling of identity claims in their privacy
notice. The plugin does not select or configure a Microsoft tenant.
These providers are only used if enabled in the Clerk application and selected
by the visitor. Other configured providers, including enterprise identity
providers, have their own policies; review and disclose those before enabling
them. This plugin does not configure directory synchronization or collect
Google Workspace service-account keys.
Clerk localization assets include upstream instructional text about Google
Workspace and Microsoft Entra setup. Those strings and SAML claim identifiers
are translation data, not requests to the domains mentioned in them.
Donation and documentation links only navigate to external sites when clicked.
No donation-service scripts, fonts, or remote images are loaded by this plugin.
Blocks
This plugin provides 14 blocks.
- Clerk Show Show nested blocks to signed-in or signed-out Clerk visitors. Visibility only; content remains public.
- Template Message An editable message to demonstrate the plugin build workflow.
- Clerk Component Drop-in Clerk authentication, account, organization, pricing, and waitlist components.
- Clerk Waitlist Collect requests to join your Clerk application waitlist.
- Clerk Pricing Table Display published Clerk Billing plans for users or organizations.
- Clerk Google One Tap Request the browser-controlled Google sign-in prompt for signed-out visitors.
- Clerk User Profile Let signed-in visitors manage their Clerk account.
- Clerk Sign Up Let visitors create a Clerk account.
- Clerk Create Organization Let signed-in visitors create a Clerk organization.
- Clerk Organization Profile Manage the active Clerk organization.
- Clerk Sign In Sign visitors in to your Clerk application.
- Clerk User Button Display the signed-in visitor account menu.
- Clerk Organization List List and select the visitor’s Clerk organizations.
- Clerk Organization Switcher Let signed-in visitors choose an active Clerk organization.
Installation
- Upload the complete release ZIP and activate Visitor Components for Clerk.
- Save a publishable key (
pk_test_orpk_live_) under Settings > Visitor Components for Clerk. - Configure your production domain in the Clerk Dashboard before going live.
- Search for Clerk in the inserter, add the individual control block or supported
shortcode, and view the published page.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Visitor Components for Clerk” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Visitor Components for Clerk” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.2.3
- Filter Clerk Show nested output using WordPress’s permitted post HTML.
- Preserve ordinary block markup and nested Clerk component visibility attributes.
0.2.2
- Rename to Visitor Components for Clerk and update the text domain.
- Load Clerk UI and SDK asynchronously through WordPress script APIs.
- Offer page reload for failed service scripts and retain SDK/component retries.
- Document conditional Stripe payment processing and custom-logo requests.
0.2.1
- Rename to Visitor Components for Clerk and clarify independent ownership.
- Load preview-only styles through the WordPress stylesheet API.
- Expand external-service disclosures for Clerk and Google One Tap.
0.2.0
- Add administrator settings, eleven Clerk components, blocks and shortcodes, a shared frontend loader, accessible error recovery, and focused tests.
- Add grouped appearance settings, Pricing Table, Organization List, Create Organization, Waitlist, and a nested Clerk Show block.
- Add authenticated live component previews in the block editor.
- Add Google One Tap prompt support with shared lifecycle and cleanup.
- Add opt-in experimental localization using official Clerk translations.
- Preserve the original Template Message block.
0.1.0
- Initial template.
