What Is BD Shield Forms?
BD Shield Forms is a lightweight WordPress plugin for managing contact forms and newsletter subscribers. It provides two shortcodes — one for a full contact form and one for an email subscription form — and stores all submissions and subscribers in your WordPress database. You can view messages, reply to contacts directly from the admin dashboard, manage newsletter subscribers, and export subscriber lists as CSV files.
The plugin works with any WordPress theme and does not require any page builders or third-party form services. All data stays on your own server.
Installation
- Download the BD Shield Forms plugin ZIP file from your BDShield account.
- In your WordPress admin, go to Plugins → Add New → Upload Plugin.
- Select the ZIP file and click Install Now, then Activate.
- On activation, the plugin creates two database tables (
bd_shield_submissionsfor contact form entries andbd_shield_subscribersfor newsletter signups) and sets default email settings. - Navigate to Forms → License in the admin menu and enter your license key. Without an active license, form submissions and newsletter subscriptions are disabled and visitors will see an error message if they try to submit.
Important: A valid license key is required for forms to accept submissions. The shortcodes will still render the form HTML, but the AJAX submission handler will return an error until the license is activated.
Creating a Contact Form
BD Shield Forms uses the shortcode to display a contact form anywhere on your site. To add a contact form:
- Create a new page or edit an existing page in WordPress.
- Add the shortcode
to the page content using the block editor, classic editor, or any page builder. - Publish or update the page.
Contact Form Fields
The default contact form includes the following fields:
- Name (required) — Text input for the sender’s name.
- Email (required) — Email input with validation.
- Phone (optional) — Telephone input. Shown by default, can be hidden via shortcode attribute.
- Subject (optional) — Text input for the message subject. Shown by default, can be hidden.
- Message (required) — Textarea for the message body.
Shortcode Attributes
You can customize the contact form using these shortcode attributes:
- show_phone — Show or hide the phone field. Values:
yes(default) orno. Example: - show_company — Show or hide an additional company name field. Values:
yesorno(default). Example: - show_subject — Show or hide the subject field. Values:
yes(default) orno. Example: - button_text — Custom text for the submit button. Default:
Send Message. Example: - button_color — Custom background color for the submit button as a hex code. Default:
#667eea. Example:
Full Example
A fully customized contact form shortcode:
This displays a contact form with all fields visible, a custom button label, and a teal-colored submit button.
How Form Submission Works
When a visitor submits the contact form:
- The form is submitted via AJAX (no page reload). The submit button changes to “Sending…” while processing.
- The plugin validates that name, email, and message are filled in, and that the email is valid.
- The submission is saved to the
bd_shield_submissionsdatabase table with the status “unread,” along with the visitor’s IP address and user agent. - If admin notifications are enabled (they are by default), an email is sent to the configured notification email address with the submission details.
- If auto-reply is enabled (it is by default), a confirmation email is sent to the visitor using the configured auto-reply subject and message.
- A success message appears below the form and the form fields are cleared.
Creating a Newsletter Subscription Form
Use the shortcode to display an inline email subscription form:
- Add
to any page, post, sidebar widget, or template. - The form displays as a compact inline layout with an email input and a subscribe button.
Subscribe Form Attributes
- button_text — Custom button text. Default:
Subscribe. Example: - placeholder — Custom placeholder text for the email input. Default:
Enter your email. Example: - button_color — Custom button color as a hex code. Default:
#667eea. Example:
How Subscription Works
- The visitor enters their email address and clicks Subscribe.
- The email is validated. If invalid, an error message is shown.
- If the email already exists in the subscribers table and is active, a message confirms they are already subscribed.
- If the email was previously unsubscribed, the subscription is reactivated with a “Welcome back!” message.
- New emails are added to the
bd_shield_subscriberstable with “active” status, the source set to “website,” and the visitor’s IP address recorded.
Managing Submissions
All contact form submissions are managed from Forms → Submissions in the WordPress admin menu (the top-level “Forms” menu item). The admin menu also displays an unread count bubble showing the number of unread messages.
Submissions Dashboard
The submissions page displays four statistics cards at the top:
- Total Messages: All submissions received.
- Unread: New messages that have not been opened.
- Replied: Messages you have replied to.
- Starred: Messages you have marked as important.
Below the stats, filter buttons let you view All, Unread, Starred, or Replied messages. Messages are displayed as a list sorted by newest first (up to 50 entries), showing the sender’s name, a preview of the message, and the time since submission.
Viewing a Single Message
Click any message to open the full detail view, which shows:
- The sender’s name, email address (as a clickable mailto link), phone number, and company (if provided).
- The date and time of submission.
- The subject line (if provided).
- The full message text.
- Any previous replies you have sent.
Opening an unread message automatically marks it as “read.”
Replying to a Message
Each message detail view includes a reply form at the bottom:
- The Subject field is pre-filled with “Re:” followed by the original subject (or “Your inquiry” if no subject was provided).
- Type your reply in the Your Reply textarea.
- Click Send Reply to email the reply directly to the sender.
- The reply is sent via WordPress’s
wp_mail()function, prefixed with “Hi [name],” and signed with your site name. - The reply is saved in the submission record and the message status changes to “replied.”
You can also click Open in Email Client to compose a reply in your default email application (Outlook, Gmail, etc.) with the subject line pre-filled.
Message Actions
- Star / Unstar: Mark a message as important for easy filtering. Click the Star button to toggle starred status.
- Delete: Permanently delete a message. You will be asked to confirm before deletion.
WordPress Dashboard Widget
BD Shield Forms adds a “Recent Messages” widget to the WordPress admin dashboard (the main wp-admin page). This widget shows:
- A count of unread messages (if any) in a highlighted banner.
- The 5 most recent submissions with sender name, time, and a message preview.
- A “View All Messages” button linking to the full submissions page.
Unread messages are highlighted with a yellow background in the widget for quick visibility.
Form Styling
The contact form includes its own self-contained CSS styles that are output inline with the shortcode. The form is responsive and adapts to mobile screens (fields stack vertically below 600px). The default styling includes:
- Maximum width of 600px, centered on the page.
- Two-column layout for Name/Email and Phone/Company rows on desktop.
- Rounded input fields (10px border radius) with focus highlighting.
- A full-width submit button with hover lift animation.
- Success messages in green and error messages in red, displayed below the form.
Since the styles are self-contained, they work with any theme. To override the styling, use CSS specificity targeting the .bd-form-wrap and .bd-contact-form classes in your theme’s stylesheet.
The subscription form uses inline styles for maximum compatibility and displays as a horizontal flex layout with the email input and button side by side, capped at 450px width.