WordPress OSINT, maintenance or security needs? Reach out!
TLDWP

Plugin: bootstrap-for-contact-form-7 (Used by 2,651 domains)

Bootstrap for Contact Form 7

👤 Felix Arntz 📦 v1.4.8 🔗 Plugin Homepage

Bootstrap for Contact Form 7 modifies all the output of the popular Contact Form 7 plugin to be fully compatible with the current version 3 of the popular CSS framework Bootstrap. What this means to you as a Bootstrap user: No additional CSS rules necessary – from now on, Contact Form 7 integrates seamlessly with the overall Bootstrap design. It is even possible to use different form layouts via Contact Form 7’s “Additional Settings” tab.

This plugin is an addon to Contact Form 7.
The plugin requires Contact Form 7 to be activated, otherwise it won’t change anything. Furthermore you should be using it in conjunction with a Bootstrap-based WordPress theme, otherwise the forms might look weird (and there would be no point in using this addon anyway).

Usage

Bootstrap for Contact Form 7 does not provide additional options itself, so you can continue using Contact Form 7 (almost) the same way you did before.

The plugin will not break your form’s appearance, however it is recommended to adjust the contact form shortcodes to achieve perfect results: Generally, you should not be using HTML tags any longer to wrap the field shortcodes. They already include the complete Bootstrap-ready markup, including displaying labels. Read the Setup Guide for a quick introduction.

Advanced Features

The plugin brings some additional useful features to enhance your forms even more:

  • the form layout can be changed to a horizontal or inline one
  • the form’s input size can be globally changed
  • checkbox and radio groups can be displayed either one per line, inline or as Bootstrap buttons
  • text inputs and textareas support Bootstrap’s input group feature to add content before or after them
  • text inputs and textareas can show a character count (the [count] shortcode from Contact Form 7) inline
  • the captcha input field can show the captcha image inline
  • by using GET parameters in a URL to a contact form, field values can be predefined

The above features are explained in detail on the Other Notes page.

Basic Idea behind the Plugin

Lots of WordPress Themes are based on Bootstrap – and while it is the general approach to use CSS rules to style your HTML content, it is also possible the other way around – with many benefits.

When using a well-known framework which provides general styles for all the important components of a website, it can be time-consuming to apply the same styles to third-party plugins which (obviously) have not been written with a framework in mind. This is perfectly fine, but if you’re using Bootstrap for your WordPress theme, you will certainly love the fact that you do not need to write CSS rules for the Contact Form 7 plugin any longer. It will all look like Bootstrap from the beginning so that it fits into your website design. If you’re not using Bootstrap, this plugin is useless for you – but maybe you’re just having an idea how you can adjust another popular WordPress plugin to integrate with another well-written CSS framework.

Advanced Features

Additional Settings

Here you find additional settings which are part of the Bootstrap for Contact Form 7 plugin. If you want to learn more about the additional settings of the original Contact Form 7 plugin, please visit this page.

You can adjust several form properties (properties that affect an entire form, not just a single field of it) to give your forms the appearance you want. Here is a list of the properties, what they do and their possible values:

  • layout – adjusts the form’s layout (note that in most cases the inline form will need additional styling to look good); valid values: ‘default’, ‘inline’, ‘horizontal’; default value: ‘default’
  • size – adjusts the size of all input fields; valid values: ‘default’, ‘small’, ‘large’; default value: ‘default’
  • group_layout – adjusts the layout of checkbox and radio groups; valid values: ‘default’, ‘inline’, ‘buttons’; default value: ‘default’
  • group_type – adjusts the color of checkbox and radio groups with buttons layout; valid values: ‘default’, ‘primary’, ‘success’, ‘info’, ‘warning’, ‘danger’; default value: ‘default’
  • submit_size – adjusts the size of the submit button; valid values: ‘default’, ‘small’, ‘large’ or an empty string to force it to have the size defined in the size form property; default value is an empty string
  • submit_type – adjusts the color of the submit button; valid values: ‘default’, ‘primary’, ‘success’, ‘info’, ‘warning’, ‘danger’; default value: ‘primary’
  • required_html – adjusts the HTML output to append to required fields’ labels; valid values: any HTML output; default value: *
  • grid_columns – allows you to override the total grid column count of Bootstrap (you might only need to adjust this if you’re using a custom version of Bootstrap); valid values: any integer greater than 1; default value: 12
  • label_width – adjusts the form’s label width (applies only to horizontal layout); valid values: any integer between 1 and the value of grid_columns minus 1; default value: 3
  • breakpoint – adjusts the responsive breakpoint (applies only to horizontal layout); valid values: ‘xs’, ‘sm’, ‘md’, ‘lg’; default value: ‘sm’

There are four methods to adjust the above properties: The easiest one is to use the “Additional Settings” tab when editing a form in Contact Form 7 and insert any property and its desired value there, one per line. For example:

layout:horizontal
size:large
group_layout:inline

Alternatively you can use the filter cf7bs_form_{{FORM_ID}}_properties where {{FORM_ID}} must be replaced by the ID of the form you would like to modify (you find that number in the overall form’s shortcode). An array of all the properties and their values is passed to that function so that you can easily adjust them. Example (in this case we would adjust the contact form with the ID 3):

function my_custom_form_properties( $properties ) {
    $properties['layout'] = 'horizontal';
    $properties['size'] = 'large';
    $properties['group_layout'] = 'inline';
    return $properties;
}
add_filter( 'cf7bs_form_3_properties', 'my_custom_form_properties' );

The third way does something slightly different from the other two since it does not change a specific form’s properties, but the default properties for all forms. To do that, you should use the filter cf7bs_default_form_properties which works exactly like the other filter mentioned above.

The fourth method is different from the others as it allows to override the form settings on a per-field basis. You can add any of the setting names plus its intended value as a shortcode attribute for any field to make this field behave differently from the form’s setting. This can be especially helpful if you need to create advanced form layouts like when you need multiple fields on the same line. For example, you could do the following to display two fields in one row, even though the form’s layout is set to ‘default’:

[text user_first_name id:user-first-name layout:none][/text]
[text user_last_name id:user-last-name layout:none][/text]

Note that the custom form filter takes precedence over the properties defined in the admin, while the default filter is just used as fallback.

Input Groups

All textual input fields support the input group feature that Bootstrap provides. To use it, add a shortcode-like construct (almost, but it has to use curly braces instead) into the content of any text / email / url / tel input shortcode. Example:

[text twitter-username]{input_before}@{/input_before}Your Twitter Handle[/text]

Note that the input_before and input_after can also be added to textareas. In this case, the content will be displayed directly above or below the textarea respectively.

Submit Button Alignment

The submit button can be aligned left, center or right to fit your form’s desired appearance. Simply provide an align option with either ‘left’, ‘center’ or ‘right’ as value. Example:

[submit align:right "Send"]

Inline Character Count

Contact Form 7 provides a [count] shortcode that renders a number indicating how many characters have been entered or how many characters are remaining in a specific input field. Using it on its own looks kind of ugly though. But guess what, you can adjust that too by adding an option include_count to any text / email / url / tel / textarea input. You can optionally specify a value for that option as well which can consist of the positioning (‘before’ or ‘after’) and the count direction (‘up’ or ‘down’) of the counter. Just as a reminder, when choosing ‘down’, make sure you give the input element a maximum length, otherwise there is no point in having that counter. Example:

[text your-text maxlength:80 include_count:after:down]Your Text[/text]

By the way, have you read the information about input groups above? You can combine those with the character count (because just seeing a number without any additional information might confuse your site’s visitors). The following example will show a message like ‘433 characters left’ after the field:

[textarea your-text maxlength:500 include_count:after:down input_after:characters---left]Your Text[/textarea]

Inline Captcha Image

If you’ve been using Contact Form 7 together with the Really Simple CAPTCHA plugin, you are probably aware of the [captchar] (captcha input field) and [captchac] (captcha image) shortcodes it provides. You can still use them independently, but it probably looks nicer to have the captcha image show up inline, right beside its input field. To accomplish this, remove the [captchac] shortcode completely and instead add a new option include_captchac to the [captchar] shortcode. You can optionally give this option a value (either ‘before’ or ‘after’) to mark the location where the image should show up. Example:

[captchar your-captcha include_captchac:before]Captcha[/captchar]

Custom Form URLs

You can add GET parameters to populate your forms with custom initial values by simply using the field name as parameter’s key and the desired value as the parameter’s value. This works with checkboxes, date fields, number fields, select fields, all text fields and textareas. The easiest way to create such a URL is to use the plugin’s function cf7bs_add_get_parameter() where you provide parameters similarly to the WordPress Core function add_query_arg. Example:

$my_custom_url = cf7bs_add_get_parameter( array(
    'your-name'     => 'John Doe',
    'your-email'    => '[email protected]',
    'your-subject'  => 'Support Request',
), 'http://www.example.com/my-custom-form/' );

Filter Field Arguments

As of version 1.2.3, field arguments for every single field can be filtered, which allows you to basically modify anything you like. The filters you need to hook your function into have the following structure cf7bs_form_{{FORM_ID}}_field_{{FIELD_BASETYPE}}_{{FIELD_NAME}}_properties. Yep, it’s a long filter name, but it is necessary so that you can filter in the most detailed way possible. When using one of the filters, replace {{FORM_ID}} with the ID of the form, {{FIELD_BASETYPE}} with the type of the field you need to adjust (be sure to not include the asterisks here!) and {{FIELD_NAME}} with the name of the field. The function should accept one argument, an array of parameters. For an overview about the available parameters, please check the plugin’s source code.

Unsupported functionality

While the plugin tries to support as many features as possible from the original Contact Form 7 (in combination with adding new ones!), not everything is and can be supported.

There are two things in particular which are explicitly not supported:

  • the size option on all input fields (Bootstrap form elements scale automatically, so we do not need a custom size for those)
  • the label_first option on checkbox and radio fields (Bootstrap natively only supports checkboxes and radio buttons where the label is displayed after them)

If you discover any other Contact Form 7 feature than the above two which is not supported by Bootstrap for Contact Form 7, you can raise an issue or submit a support request.

DomainExposuresHeadersLast Checked
c*a*i*i*n*o*d*m*s*i*i*s*r*n*e.com C 2026-05-08 13:35:58
c*a*i*i*n*o*a*e*i*a*i*s*r*n*e.com C 2026-05-08 13:35:57
s*l*n*o*e*n.net F 2026-05-08 13:26:10
c*a*h*t*v*c*a*k*h*.com (WP 6.9.4) F 2026-05-08 12:50:15
c*a*h*e*g*b*r*.com F 2026-05-08 12:15:34
s*a*r*v*s*n*h*n*3*a.com F 2026-05-08 12:07:08
s*s*e*l*u*d*y.com F 2026-05-08 11:19:31
c*a*e*n*s*i*p*n*a*e*i*a*o*.com F 2026-05-08 11:02:26
m*h*a*t*y*i*e*.com F 2026-05-08 10:50:10
r*s*t*l*.c*.uk D 2026-05-08 10:23:40
b*b*y*e*o*i*.nl (WP 6.9.4) C 2026-05-08 09:56:46
t*e*a*a*e*e*a*d*n.com (WP 6.9.4) F 2026-05-08 09:32:34
c*a*h*a*.com F 2026-05-08 09:20:06
l*s*e*i*c.com (WP 5.1.16) ⚠️ F 2026-05-08 09:11:51
e*l*p*e*u*.com (WP 6.4.8) ⚠️ F 2026-05-08 08:44:08
p*a*t*b*d.com (WP 4.9.26) ⚠️ F 2026-05-08 08:37:22
c*x*r*e*t*l.com (WP 6.9.4) F 2026-05-08 07:35:17
m*s*h*n*m*t*l*p*l*e*.de 🔓 F 2026-05-08 07:24:37
a*t*m*n*e*t*l.com F 2026-05-08 07:24:00
l*s*a*e*o*p*o*r.com B 2026-05-08 06:21:46
a*p*r*e*e*t*-*a*l*r.de (WP 6.8.5) F 2026-05-08 05:57:22
b*n*l*.de (WP 6.9.4) D 2026-05-08 04:56:45
b*o*o*.ee (WP 6.2.9) ⚠️ 🔓 F 2026-05-08 04:18:16
b*o*o*.lv (WP 6.8.5) F 2026-05-08 04:18:16
b*a*t*z*n*p*.com (WP 6.1.10) ⚠️ F 2026-05-08 04:03:14
p*a*p*o*i*a.com (WP 6.2.9) ⚠️ F 2026-05-08 04:00:43
p*o*o*l*a*l*r*p*i*w*e*l*n*.com C 2026-05-08 03:53:06
p*o*o*l*a*l*r*p*i*d*c*t*r.com C 2026-05-08 03:53:06
p*o*o*l*a*l*m*v*r*p*a*t*i*l*.com C 2026-05-08 03:53:06
l*s*a*2*.com F 2026-05-08 03:48:10
s*t*x*t*o*n*y.com F 2026-05-08 03:40:02
e*c*e*c.com F 2026-05-08 03:25:18
p*o*i*d*d*s*f*n*a*.com (WP 6.9.4) F 2026-05-08 03:22:45
p*o*i*d*d*s*o*o*s*e.com (WP 6.8.1) F 2026-05-08 03:22:44
1*r*g*.com F 2026-05-08 02:46:17
p*a*i*t*g*a.com (WP 6.8.5) F 2026-05-08 02:37:01
c*n*l*o*t*l*z.com (WP 6.9.4) F 2026-05-08 01:16:09
s*r*e*p*o*h.com (WP 5.0.22) ⚠️ F 2026-05-08 01:10:00
p*o*e*t*e*n*p*l.com (WP 6.7.5) D 2026-05-08 00:54:40
s*r*a*i*g*a*l*c.com (WP 6.0.1) ⚠️ F 2026-05-08 00:41:03
g*h*d*o*o*i*s.com D 2026-05-08 00:31:22
p*a*e*p*r*n*a.com (WP 6.5.8) F 2026-05-08 00:07:38
l*e*s.ch (WP 4.7) ⚠️ A 2026-05-07 23:52:34
p*a*c*n*i*n*a*a*l*n.com (WP 6.7.5) F 2026-05-07 23:38:04
a*b*r*e*s*i*t*m*u*e.ovh (WP 6.8.5) F 2026-05-07 23:35:54
p*a*b*e*e*t*r*.com (WP 6.9.4) F 2026-05-07 23:24:56
w*i*h*i*-*l*m*n.de (WP 6.9.4) F 2026-05-07 23:24:15
p*a*a*a*.com (WP 6.2.9) ⚠️ F 2026-05-07 23:11:38
s*r*-*o*m*n*t*.com (WP 6.4.8) ⚠️ F 2026-05-07 23:06:46
l*s*b*e*f*i*s*d*-*e*n*.com (WP 6.4.2) ⚠️ F 2026-05-07 22:42:05
p*t*r*o*b*n.com D 2026-05-07 22:26:13
r*z*o*s*d*c*z*z*y.pl F 2026-05-07 22:08:37
s*o*t*d*l*p*o*t*b*e*e*a*r.com C 2026-05-07 22:01:37
c*m*o*.o*e*u*r*h*m*w*r*a*t*.com (WP 5.9.13) ⚠️ D 2026-05-07 21:05:20
p*o*o*o*f*r*a.com (WP 6.8.5) F 2026-05-07 20:54:25
g*u*s*h*c*n*e*.com (WP 6.9.4) F 2026-05-07 20:44:34
b*l*s*i*g*a*g*f*e*e*v*c*.nl F 2026-05-07 20:43:47
c*u*o*c*u*i*o*.com (WP 6.0.11) ⚠️ F 2026-05-07 20:27:05
w*c*l.c*.uk (WP 6.9.4) F 2026-05-07 19:48:29
s*o*-*a.com (WP 5.8.13) ⚠️ F 2026-05-07 19:05:56
l*o*a*d*f*o*.com (WP 6.7.5) F 2026-05-07 18:47:19
t*r*n*e*w*n.com (WP 4.7.31) ⚠️ F 2026-05-07 18:44:04
a*p*e*r*e*g.com (WP 4.4) ⚠️ F 2026-05-07 18:02:50
a*e*s*i*.com (WP 4.8.25) ⚠️ F 2026-05-07 17:43:46
a*o*t*g*.com (WP 6.9.4) F 2026-05-07 17:13:29
s*n*o*f*r*n*e.com (WP 6.8.5) 🔓 F 2026-05-07 17:01:04
g*t*g*b*.com F 2026-05-07 16:40:17
l*o*i*s*e*p*o*t*b*e*e*a*r.com C 2026-05-07 16:28:07
b*a*c*e*k*n*m*l*o*p*t*l.com D 2026-05-07 16:26:29
e*s*w*b*i*e*k.com (WP 6.6.5) F 2026-05-07 15:52:41
p*o*e*a.com (WP 5.4.19) ⚠️ F 2026-05-07 15:47:30
a*e*a*o*r*u*.com F 2026-05-07 15:46:36
a*i*m*b*l*e*.com (WP 6.7.5) F 2026-05-07 15:18:28
c*n*r*t*g*r.com F 2026-05-07 15:00:17
s*i*n*e*n*a*c*u*e*.com F 2026-05-07 14:40:04
s*i*n*e*n*e*t*l*.com F 2026-05-07 14:40:03
s*i*n*e*n*o*t*n.com F 2026-05-07 14:40:03
c*n*o*d*t.com (WP 6.9.4) F 2026-05-07 13:57:24
c*n*o*d*o*l*a*l*r*p*i*.com C 2026-05-07 13:57:24
c*n*o*d*h*t.com (WP 6.9.4) F 2026-05-07 13:54:02
c*n*o*d*h*h*s*c*l*h*r*p*.com (WP 6.9.4) F 2026-05-07 13:54:02
b*a*o*c*t*a*e*a*m*o*i*a*s.com (WP 6.9) C 2026-05-07 13:39:44
p*r*o*a*h*a*t*h*b.com F 2026-05-07 13:23:40
s*h*a*t*c*n*r*c*i*g.com D 2026-05-07 13:11:00
p*r*o*a*c*v*r*g*.com F 2026-05-07 13:02:33
g*r*d*n*.com (WP 5.3.2) ⚠️ F 2026-05-07 12:38:10
m*a*t*s*o*k.com (WP 6.9.4) F 2026-05-07 12:37:43
g*r*e*i*s.com D 2026-05-07 12:13:46
l*n*i*g*a*d*o*t*a*e.com (WP 6.9.4) F 2026-05-07 12:06:04
i*s*s*i*c*u*.c*.uk (WP 6.9.4) F 2026-05-07 11:49:30
t*a*v*c*r*o*s.com F 2026-05-07 10:46:22
p*r*y*e*t*l*n*.com D 2026-05-07 10:35:05
s*r*e*.eu (WP 6.9.4) 🔓 F 2026-05-07 10:14:09
a*r*z*f*i*o.com (WP 6.6.5) F 2026-05-07 09:13:04
p*o*m*e*t.com D 2026-05-07 08:21:56
v*n*t*l.com (WP 5.7.4) ⚠️ F 2026-05-07 08:16:53
e*s*w*o*r*o*.com (WP 6.9.4) F 2026-05-07 07:50:42
s*p*r*o*a*t*m*t*v*c*m*a*y.com (WP 6.9.4) F 2026-05-07 07:45:38
c*a*i*a*e*r*n*e*s.com F 2026-05-07 07:21:10
a*m*s*e*a.b*l*a*o*e.sk (WP 6.8.5) F 2026-05-07 07:07:17

Top 50 Plugins

Plugin Count
elementor 1,845,026
contact-form-7 1,814,379
elementor-pro 1,074,639
woocommerce 834,328
revslider 631,057
jetpack 474,701
js_composer 442,043
wp-rocket 343,148
essential-addons-for-elementor-lite 303,315
gravityforms 291,645
complianz-gdpr 264,632
cookie-law-info 238,008
instagram-feed 233,160
google-site-kit 227,086
sitepress-multilingual-cms 226,612
google-analytics-for-wordpress 218,275
header-footer-elementor 214,731
elementskit-lite 214,055
bluehost-wordpress-plugin 191,979
gutenberg 165,128
gutenberg-core 163,247
cookie-notice 156,862
litespeed-cache 137,160
the-events-calendar 135,646
wpforms-lite 131,895
gtranslate 131,059
astra-sites 121,430
popup-maker 118,674
woocommerce-payments 114,788
tablepress 113,253
coblocks 101,881
honeypot 100,128
astra-addon 97,326
duracelltomi-google-tag-manager 96,036
wp-smushit 95,656
all-in-one-seo-pack 95,213
LayerSlider 93,578
bb-plugin 92,205
megamenu 89,033
premium-addons-for-elementor 88,891
akismet 87,453
mailchimp-for-wp 85,480
cleantalk-spam-protect 85,280
woocommerce-gateway-stripe 84,759
ml-slider 83,225
borlabs-cookie 82,106
fusion-builder 81,492
wp-pagenavi 81,138
ewww-image-optimizer 80,807
smart-slider-3 79,595

Top 50 Themes

Theme Count
hello-elementor 631,095
Divi 521,797
astra 432,703
flatsome 142,108
Avada 127,084
generatepress 125,483
pub 112,409
oceanwp 85,449
kadence 80,767
twentytwentyfour 80,280
enfold 73,503
salient 68,110
h4 57,690
twentyseventeen 57,578
bb-theme 56,107
betheme 53,173
cocoon-master 52,483
blocksy 52,231
dt-the7 47,224
twentytwentyfive 45,213
sydney 42,519
neve 40,452
Avada-Child-Theme 38,420
woodmart 34,046
gox 34,021
bridge 33,548
twentytwentyone 32,826
lightning 31,937
twentytwenty 30,760
swell 28,919
Impreza 27,210
bricks 26,663
voxel 25,694
twentytwentythree 24,488
Newspaper 24,266
sinatra 22,661
kubio 21,620
twentytwentytwo 20,266
uncode 19,571
epik-redesign 19,281
twentysixteen 18,733
storefront 18,307
pro 18,094
Total 15,054
extendable 14,875
yith-wonder 14,120
hello-theme-child-master 13,717
themify-ultra 13,308
yootheme 13,284
hestia 13,196