v4.1.3 — March 2026

PWD Custom WCFM Registration
Documentation

Complete guide for installation, configuration, and customisation of the PWD Custom WCFM Registration Form plugin.

Introduction

PWD Custom WCFM Registration is a professional multi-step vendor registration form for WCFM Marketplace. It provides a polished, fully configurable registration experience with email verification, auto-save drafts, conditional logic, file uploads, and complete styling controls — all managed from a dedicated admin panel.

🧩

Multi-Step Form Builder

Drag-and-drop interface to organise any WCFM field across any number of steps with a live progress bar.

📧

Email Verification

6-digit code verification before proceeding. Auto-confirms on the 6th digit. Codes expire after 15 minutes.

💾

Auto-Save Drafts

Progress saved automatically every 30 seconds. Vendors can also manually save and receive a resume link by email.

🔀

Conditional Logic

Show or hide fields dynamically based on values entered in other fields. Four condition types and two actions.

🎨

Full Styling Controls

Inherit from theme with zero overrides, or switch to Custom mode to control every visual aspect of the form.

📎

File Upload Support

WCFM-compatible file upload fields with WordPress media library integration and MD5-keyed storage.

WCFM Approval Flow

Reads WCFM membership approval settings automatically — routes vendors to pending or active state accordingly.

🛡

Bot Protection

Optional Cloudflare Turnstile CAPTCHA integration to prevent automated registrations.

Requirements

RequirementMinimumNotes
WordPress5.8+Tested up to WordPress 6.x
PHP7.4+8.0+ recommended
WooCommerce5.0+Required for all WCFM functionality
WCFM Marketplace3.0+Core dependency — vendor accounts and profiles
License KeyRequiredPurchased from prowebdesign.co.za — unlocks all features
The plugin loads the License page and runs the license cron regardless of activation state. All other functionality — shortcode, builder, conditional logic, styling — is gated behind a valid license.

Installation

Method 1 — WordPress Admin

1

Navigate to Plugins

In your WordPress admin go to Plugins → Add New → Upload Plugin

2

Upload the ZIP

Choose pwd-custom-wcfm-registration-4_1_3.zip and click Install Now

3

Activate

Click Activate Plugin after installation completes

Method 2 — FTP / File Manager

1

Extract

Unzip pwd-custom-wcfm-registration-4_1_3.zip on your computer

2

Upload

Upload the pwd-custom-wcfm-registration/ folder to /wp-content/plugins/ on your server

3

Activate

Go to Plugins in WordPress admin and click Activate next to PWD Custom WCFM Registration

After activation the Vendor Registration menu will appear in the WordPress sidebar. The registration form will not render until a valid license is activated.

License Activation

PWD Custom WCFM Registration requires an active license to display the registration form. The shortcode, multi-step builder, conditional logic, and all admin functionality are blocked until a valid license is entered.

Activating Your License

1

Go to the License Page

In WordPress admin navigate to Vendor Registration → License

2

Enter Your Credentials

Paste your License Key and the email address used at purchase

3

Click Activate License

The plugin contacts the PWD license server and validates your key against your domain

4

All Features Unlock

On success, the License page shows your key, email, expiry, and last verification time. The registration form becomes fully active.

Your license key is locked to a single domain. To move the plugin to a different site, click Deactivate License first, then re-activate on the new domain.

Daily Verification

Once activated, the plugin silently verifies your license once per day via a background cron job (pwd_wcfm_daily_license_check). Up to 3 consecutive network failures are tolerated before the license is marked invalid — protecting you from brief server outages.

Plugins Page Indicators

The WordPress Plugins page shows License Active when valid, or Activate License when not. A red ! badge also appears on the Vendor Registration nav menu item when activation is required. The License tab is always accessible regardless of plugin state.

Quick Start

1

Activate License

Go to Vendor Registration → License and enter your license key and email

2

Create a Registration Page

Create a new WordPress page and add the shortcode [pwd_wcfm_registration] in the content area. Publish the page.

3

Configure Settings

Go to Vendor Registration → Settings and enable multi-step, email verification, and auto-save as needed

4

Organise Fields into Steps

Go to Vendor Registration → Multi-Step and drag fields from the pool into step boxes. Click Save Steps.

5

Style the Form (Optional)

Go to Vendor Registration → Styling. Switch to Custom mode and adjust colours, fonts, inputs, and buttons.

6

Go Live

Visit your registration page — the form is live and accepting vendor registrations

💡
Tip: Add custom fields in WCFM → Settings → Vendor Registration Custom Fields first, then organise them in the Multi-Step builder. Always use unique field labels to avoid conflicts.

Settings

All settings are managed from Vendor Registration → Settings and saved via AJAX — no page reload required.

SettingDescriptionDefault
enable_multi_stepEnables multi-step form with navigation and progress bartrue
enable_email_verificationRequires vendors to verify email with a 6-digit code before proceedingtrue
enable_auto_saveAutomatically saves form progress as a draft every N secondstrue
auto_save_intervalInterval in seconds between automatic draft saves30
draft_expiry_daysDays before an abandoned draft is considered expired and cleaned up30
redirect_after_registrationDestination after registration: wcfm_dashboard or custom_urlwcfm_dashboard
custom_redirect_urlCustom URL to redirect to when redirect_after_registration is set to custom_url
enable_turnstileEnables Cloudflare Turnstile bot protection on the formfalse
turnstile_site_keyYour Cloudflare Turnstile site key
turnstile_secret_keyYour Cloudflare Turnstile secret key
enable_admin_emailSends an HTML notification email to admins on new vendor registrationfalse
admin_emailsComma-separated list of admin email addresses to notifySite admin
admin_email_subjectEmail subject — supports {store_name}, {username}, {email} placeholdersNew Vendor Registration…
admin_email_approval_linkAdds an "Approve This Vendor" button to the admin notification emailfalse
Enable Include Approval Link only if vendor approval is required in your WCFM membership settings. The link directs the admin to approve the pending vendor account directly from their inbox.

Multi-Step Builder

The Multi-Step builder is found at Vendor Registration → Multi-Step. It provides a drag-and-drop interface where you can organise any WCFM field — including custom fields and upload fields — across multiple form steps.

How It Works

1

Available Fields Pool

All WCFM registration fields appear in the pool on the left. Fields not assigned to any step appear on the final step automatically.

2

Add Steps

Click + Add Step to create a new step box. Steps are numbered sequentially.

3

Drag Fields

Drag field chips from the pool into step boxes. Fields can be moved between steps freely. Upload fields are highlighted in yellow.

4

Save

Click Save Steps to persist the configuration. Changes take effect immediately on the frontend.

Recommended Organisation

Step 1: Account Basics
  — Username, Email, Password, Confirm Password

Step 2: Personal Information
  — First Name, Last Name, Phone

Step 3: Store Details
  — Store Name, Store Description

Step 4: Additional / Custom Fields
  — Any WCFM custom fields, Terms acceptance
Always use unique labels for custom fields in WCFM. Duplicate labels cause only one field to appear in the builder pool.

Conditional Logic

Create rules that show or hide fields dynamically based on other field values — found at Vendor Registration → Conditional Logic.

Conditions

ConditionDescriptionExample
equalsField value matches the specified valueShow tax ID if Business Type = Corporation
not_equalsField value does not matchShow custom field if Country ≠ United States
not_emptyField has any value enteredShow follow-up if previous field filled
emptyField is blankShow hint text if field is empty

Actions

  • show — Show the target field(s) when the condition is met
  • hide — Hide the target field(s) when the condition is met
Rules are evaluated across all steps — a trigger field on step 1 can show or hide a target field on step 3. Multiple rules fire simultaneously and independently.

Styling

Found at Vendor Registration → Styling. Gives you complete control over the registration form's appearance without touching any CSS files.

Mode Selector

  • Inherit from theme — Zero overrides applied. The form inherits all colours, fonts, and button styles from your active WordPress theme. This is the default and is fully non-destructive.
  • Custom styling — Enables the controls below. Any field left at its default value uses the form's built-in fallback.

Form Container

ControlDescription
Background ColorForm container background colour
Text ColorDefault text colour inside the form
Border ColorColour of the form container border
Border RadiusCorner rounding — 0 to 32px
PaddingInternal spacing — 8 to 80px
Max WidthMaximum form width — 320 to 1200px
Box ShadowNone, Default (subtle), Medium, or Large

Typography

ControlDescription
Font FamilyInherit from theme, or Inter, Roboto, Open Sans, Lato, Poppins, Nunito, Montserrat, Raleway, Source Sans Pro — auto-loaded on frontend via Google Fonts
Base Font SizeForm-wide base font size — 12 to 22px
Label ColorColour of all field labels
Label Font SizeSize of field labels — 10 to 20px
Label Font WeightNormal, Medium, Semi-Bold, or Bold

Input Fields

ControlDescription
BackgroundInput field background colour
Text ColorInput text colour
Border ColorInput border colour
Focus / Accent ColorBorder and focus ring colour on active inputs — also used for the email verification code field
Border RadiusCorner rounding — 0 to 20px
Padding (V / H)Vertical and horizontal internal padding

Buttons

ControlApplies To
Primary Background / Text / HoverNext and Submit buttons
Secondary Text / Border ColorBack (Previous) button
Border Radius, Font Size, Font Weight, PaddingAll buttons

Progress Bar

  • Fill Color — the active progress fill
  • Track Color — the unfilled background track
  • Height — 2 to 20px
All custom styles are injected as scoped !important overrides via wp_add_inline_style. Clicking Reset to Defaults switches back to Inherit mode and removes all overrides instantly.

Shortcode

The registration form is embedded with a single shortcode:

[pwd_wcfm_registration]

Where You Can Use It

  • Classic Editor — paste directly into the text or visual editor
  • Block Editor (Gutenberg) — use a Shortcode block
  • Page Builders — Elementor, Divi, Beaver Builder, WPBakery all support shortcodes
  • Widget Areas — use a Text or Custom HTML widget
  • Theme Filesdo_shortcode('[pwd_wcfm_registration]')
The shortcode outputs nothing when the license is inactive — the page remains clean with no error shown to visitors. Logged-in users see a "You are already logged in." message instead of the form.

Fields Reference

The plugin builds its field pool from three sources: standard fields, WCFM custom fields, and WCFM upload fields.

Standard Fields

Field IDLabelTypeRequired
user_nameUsernametextYes
emailEmailemailYes
passwordPasswordpasswordYes
confirm_passwordConfirm PasswordpasswordYes
first_nameFirst NametextYes
last_nameLast NametextYes
store_nameStore NametextYes
phonePhonetelNo
store_descriptionStore DescriptiontextareaNo
terms_acceptedAccept TermscheckboxYes

WCFM Custom Fields

Any custom fields defined in WCFM → Settings → Vendor Registration Custom Fields and marked as enabled are automatically detected and added to the builder pool. Supported types: text, email, tel, number, select, radio, checkbox, textarea, content (read-only), and upload.

Upload fields appear highlighted in yellow in the builder pool. They are handled separately from regular custom fields and stored in the WordPress media library with MD5-keyed WCFM compatibility.

Vendor Guide

Completing Registration

1

Navigate to the Registration Page

Open the page containing the [pwd_wcfm_registration] shortcode. The progress bar shows the total number of steps.

2

Fill Required Fields

Fields marked with a red asterisk * are required. All fields are validated before you can proceed to the next step.

3

Verify Your Email

Click Send Verification Code, check your email for the 6-digit code, and enter it. The code auto-verifies on the 6th digit — a green ✓ Verified appears when confirmed.

4

Save Your Progress (Optional)

Click Save & Email Me Link on any step to receive a resume link. Auto-save also runs silently every 30 seconds.

5

Submit

On the final step, click Complete Registration. You will be automatically logged in and redirected to your vendor dashboard upon success.

💡
Verification codes expire after 15 minutes. If yours expires, simply request a new one. Resume links are valid for the number of days set in Draft Expiry (default 30 days).

WCFM Approval Flow

After a vendor completes registration, the plugin reads the WCFM membership's required_approval setting and routes accordingly — no manual configuration needed.

Approval Not Required

  • WCFMvm::register_vendor() is called to activate the account immediately
  • WCFMvm::store_subscription_data() assigns a free subscription record
  • The vendor is auto-logged in via wp_set_auth_cookie()
  • The wcfm_membership_registration action hook fires for third-party integrations
  • The vendor is redirected to the WCFM dashboard (or custom URL)

Approval Required

  • WCFMvm::send_approval_reminder_admin() notifies the site admin of the pending account
  • The vendor account is created but left in a pending state
  • If Include Approval Link is enabled, the admin notification email includes a one-click approval button
The wcfm_registration_thankyou_url filter is applied to the redirect URL, allowing theme or plugin developers to override the post-registration destination programmatically.

Troubleshooting

Form not displaying on the frontend

  • Confirm your license is active — go to Vendor Registration → License
  • Confirm the shortcode [pwd_wcfm_registration] is on the page
  • Check that WCFM Marketplace and WooCommerce are active and up to date
  • Try clearing any page/server cache

Custom fields not appearing in the builder

  • Ensure fields are enabled in WCFM → Settings → Vendor Registration Custom Fields
  • Ensure all field labels are unique — duplicate labels cause only one to appear
  • Hard-refresh the Multi-Step builder page (Ctrl+Shift+R)

Verification email not sending

  • Check the spam/junk folder first
  • Install and configure WP Mail SMTP plugin
  • Test email delivery with the Check Email plugin
  • Check wp-content/debug.log for mail errors

Styling not applying to the form

  • Confirm the Styling page is set to Custom styling mode (not Inherit)
  • Clear any page caching or CDN cache after saving
  • Inspect the page source for the inline <style> block appended after pwd-wcfm-form

License activation fails

  • Confirm you are using the correct license key from your purchase confirmation email
  • Confirm the email matches the one used at purchase exactly
  • Check that your server can make outbound HTTP requests — some hosts restrict this
  • If already activated on another domain, deactivate there first

Enabling Debug Logging

// Add to wp-config.php before "That's all, stop editing!"
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Check wp-content/debug.log after reproducing the issue.

Changelog

v4.1.3

LATEST March 2026
  • IMPROVED License admin page rebuilt with cleaner UI and improved status display
  • IMPROVED Plugin Update Checker upgraded to PUC v5p6
  • IMPROVED Admin menu registration hardened — License tab always registered before the core menu, ensuring it is accessible in all plugin states (licensed and unlicensed)
  • NEW Plugin action links now show green License Active or red Activate License depending on license state
  • NEW Plugin row meta displays a red activation reminder when the license is inactive
  • IMPROVED Deactivation hook unschedules pwd_wcfm_daily_license_check cron event and flushes rewrite rules

v4.1.0 – v4.1.2

March 2026
  • IMPROVED Internal stability and hardening releases
  • IMPROVED Nonce handling tightened across all AJAX endpoints
  • IMPROVED Admin JS and CSS asset loading scoped strictly to plugin pages

v4.0.5

March 2026
  • NEW License moved to its own nav tab — always accessible regardless of plugin state
  • NEW Styling admin page — dedicated tab at Vendor Registration → Styling
  • NEW Mode selector: Inherit from theme (zero overrides) or Custom styling
  • NEW Form container controls: background, text, border, radius, padding, max-width, shadow
  • NEW Typography controls: Google Font selector (auto-enqueued on frontend), base size, label colour/size/weight
  • NEW Input field controls: background, text, border, focus/accent colour, radius, padding
  • NEW Button controls: primary/secondary colours, hover, shared radius, font size/weight, padding
  • NEW Progress bar controls: fill colour, track colour, height
  • NEW Reset to Defaults button — reverts to Inherit mode instantly
  • IMPROVED CSS injected via wp_add_inline_style with scoped !important — fully non-destructive
  • IMPROVED Nav rewritten as loop-driven tab bar — Styling and License tabs always present

v4.0.4

March 2026
  • IMPROVED Production-ready v4 release shipped to customers
  • IMPROVED Nav updated to loop-driven tab structure
  • FIXED Minor admin UI refinements

v4.0.3

February 2026
  • FIXED Removed development debug logging from production build
  • FIXED Cleaned up backup and orphan files
  • IMPROVED Updated documentation to reflect all current features

v4.0.2

February 2026
  • NEW Admin email notifications with file attachment support
  • NEW Cloudflare Turnstile bot protection option
  • NEW Configurable approval link in admin notification emails
  • IMPROVED Upload field handling — MD5-keyed WCFM storage format

v4.0.1

February 2026
  • NEW Full WCFM approval flow integration
  • NEW Auto-login after registration completes
  • NEW wcfm_membership_registration hook fired on completion
  • IMPROVED Draft cleanup on successful registration

v4.0.0

February 2026
  • NEW Complete rewrite and rebrand to v4
  • NEW Multi-step builder with drag-and-drop field organiser
  • NEW Email verification with 6-digit code and 15-minute expiry
  • NEW Auto-save drafts with resume-by-link capability
  • NEW Conditional logic engine — four condition types
  • NEW Password reveal toggle with eye icon
  • NEW Professional HTML email templates
  • NEW Admin dashboard with tab navigation
  • NEW License system with daily background verification
  • NEW Plugin Update Checker (PUC) — automatic update notifications