[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fZJsuwzoMAlRG49fWyU1qiK1IMiNUzuMRLEoLaWucxBs":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":135,"fingerprints":194},"themeable-contact-form","Themeable Contact Form","1.0.0","Peter Hebert","https:\u002F\u002Fprofiles.wordpress.org\u002Fpeterhebert\u002F","\u003Cp>This plugin creates a simple contact form that allows you to customize the template to match your theme.\u003C\u002Fp>\n\u003Cp>The contact form has only three fields, which is great for keeping things simple:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>name\u003C\u002Fli>\n\u003Cli>email\u003C\u002Fli>\n\u003Cli>message\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All fields are required in order to submit the form.\u003C\u002Fp>\n\u003Cp>Upon successful submission, a simple thank you message will be displayed to the visitor. This message can be customized on the settings page.\u003C\u002Fp>\n\u003Ch3>Form Security\u003C\u002Fh3>\n\u003Cp>The plugin uses WordPress’ \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fwp_nonce_field\u002F\" rel=\"nofollow ugc\">nonce field\u003C\u002Fa> functionality, as well two honeypot fields in order to prevent spam submissions.\u003C\u002Fp>\n\u003Cp>All submitted data is validated and sanitized using the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWixel\u002FGUMP\" rel=\"nofollow ugc\">GUMP\u003C\u002Fa> PHP input validation class.\u003C\u002Fp>\n\u003Ch3>Form Templates\u003C\u002Fh3>\n\u003Cp>The form has three basic styles:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Plain\u003C\u002Fstrong>  – only basic styles applied; uses the browsers’ native field validation along side the server side validation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bootstrap\u003C\u002Fstrong> – \u003Ca href=\"https:\u002F\u002Fgetbootstrap.com\u002Fdocs\u002F4.0\u002Fcomponents\u002Fforms\u002F\" rel=\"nofollow ugc\">Bootstrap 4\u003C\u002Fa> markup and client side validation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Foundation\u003C\u002Fstrong> – \u003Ca href=\"https:\u002F\u002Ffoundation.zurb.com\u002Fsites\u002Fdocs\u002Fforms.html\" rel=\"nofollow ugc\">Foundation 6 for Sites\u003C\u002Fa> markup and Abide client-side validation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong> – the Bootstrap and Foundation templates only provide the HTML markup. Your theme must include either the Bootstrap 4 or Foundation 6 framework in order to make the form display and for the client-side validation to function properly.\u003C\u002Fp>\n\u003Cp>In addition to these templates, you can override the form display with custom markup to match your theme. Simply copy the default template \u003Ccode>templates\u002Fcontact-form.php\u003C\u002Fcode> to \u003Ccode>contact-form\u002Fcontact-form.php\u003C\u002Fcode> within your theme, and then make sure to select ‘Default’ under ‘Form Template’ in the plugin settings page.\u003C\u002Fp>\n","A simple contact form plugin that allows you to customize the template to match your theme",0,239,"2025-11-29T22:05:00.000Z","6.8.5","4.4","",[18,19,20,21,22],"bootstrap","contact","contact-form","form","foundation","https:\u002F\u002Fgithub.com\u002Frexrana\u002Fthemeable-contact-form","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthemeable-contact-form.1.0.0.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":25,"computed_at":34},"peterhebert",3,130,1,"2026-04-04T19:14:48.528Z",[36,59,82,102,119],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":16,"tags":51,"homepage":56,"download_link":57,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"bootstrap-for-contact-form-7","Bootstrap for Contact Form 7","1.4.8","Felix Arntz","https:\u002F\u002Fprofiles.wordpress.org\u002Fflixos90\u002F","\u003Cp>Bootstrap for Contact Form 7 modifies all the output of the popular \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7 plugin\u003C\u002Fa> to be fully compatible with the current version 3 of the popular CSS framework \u003Ca href=\"http:\u002F\u002Fgetbootstrap.com\u002F\" rel=\"nofollow ugc\">Bootstrap\u003C\u002Fa>. 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.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>This plugin is an addon to Contact Form 7.\u003C\u002Fstrong>\u003Cbr \u002F>\n  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).\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbootstrap-for-contact-form-7\u002Finstallation\u002F\" rel=\"ugc\">Setup Guide\u003C\u002Fa> for a quick introduction.\u003C\u002Fp>\n\u003Ch4>Advanced Features\u003C\u002Fh4>\n\u003Cp>The plugin brings some additional useful features to enhance your forms even more:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>the form layout can be changed to a horizontal or inline one\u003C\u002Fli>\n\u003Cli>the form’s input size can be globally changed\u003C\u002Fli>\n\u003Cli>checkbox and radio groups can be displayed either one per line, inline or as Bootstrap buttons\u003C\u002Fli>\n\u003Cli>text inputs and textareas support Bootstrap’s input group feature to add content before or after them\u003C\u002Fli>\n\u003Cli>text inputs and textareas can show a character count (the [count] shortcode from Contact Form 7) inline\u003C\u002Fli>\n\u003Cli>the captcha input field can show the captcha image inline\u003C\u002Fli>\n\u003Cli>by using GET parameters in a URL to a contact form, field values can be predefined\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The above features are explained in detail on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbootstrap-for-contact-form-7\u002Fother_notes\u002F\" rel=\"ugc\">Other Notes\u003C\u002Fa> page.\u003C\u002Fp>\n\u003Ch4>Basic Idea behind the Plugin\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Advanced Features\u003C\u002Fh3>\n\u003Ch4>Additional Settings\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cp>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 \u003Ca href=\"http:\u002F\u002Fcontactform7.com\u002Fadditional-settings\u002F\" rel=\"nofollow ugc\">this page\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>layout\u003C\u002Fcode> – 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’\u003C\u002Fli>\n\u003Cli>\u003Ccode>size\u003C\u002Fcode> – adjusts the size of all input fields; valid values: ‘default’, ‘small’, ‘large’; default value: ‘default’\u003C\u002Fli>\n\u003Cli>\u003Ccode>group_layout\u003C\u002Fcode> – adjusts the layout of checkbox and radio groups; valid values: ‘default’, ‘inline’, ‘buttons’; default value: ‘default’\u003C\u002Fli>\n\u003Cli>\u003Ccode>group_type\u003C\u002Fcode> – adjusts the color of checkbox and radio groups with buttons layout; valid values: ‘default’, ‘primary’, ‘success’, ‘info’, ‘warning’, ‘danger’; default value: ‘default’\u003C\u002Fli>\n\u003Cli>\u003Ccode>submit_size\u003C\u002Fcode> – 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 \u003Ccode>size\u003C\u002Fcode> form property; default value is an empty string\u003C\u002Fli>\n\u003Cli>\u003Ccode>submit_type\u003C\u002Fcode> – adjusts the color of the submit button; valid values: ‘default’, ‘primary’, ‘success’, ‘info’, ‘warning’, ‘danger’; default value: ‘primary’\u003C\u002Fli>\n\u003Cli>\u003Ccode>required_html\u003C\u002Fcode> – adjusts the HTML output to append to required fields’ labels; valid values: any HTML output; default value: \u003Ccode>\u003Cspan class=\"required\">*\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>grid_columns\u003C\u002Fcode> – 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\u003C\u002Fli>\n\u003Cli>\u003Ccode>label_width\u003C\u002Fcode> – adjusts the form’s label width (applies only to horizontal layout); valid values: any integer between 1 and the value of \u003Ccode>grid_columns\u003C\u002Fcode> minus 1; default value: 3\u003C\u002Fli>\n\u003Cli>\u003Ccode>breakpoint\u003C\u002Fcode> – adjusts the responsive breakpoint (applies only to horizontal layout); valid values: ‘xs’, ‘sm’, ‘md’, ‘lg’; default value: ‘sm’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>layout:horizontal\nsize:large\ngroup_layout:inline\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Alternatively you can use the filter \u003Ccode>cf7bs_form_{{FORM_ID}}_properties\u003C\u002Fcode> where \u003Ccode>{{FORM_ID}}\u003C\u002Fcode> 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):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_custom_form_properties( $properties ) {\n    $properties['layout'] = 'horizontal';\n    $properties['size'] = 'large';\n    $properties['group_layout'] = 'inline';\n    return $properties;\n}\nadd_filter( 'cf7bs_form_3_properties', 'my_custom_form_properties' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>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 \u003Ccode>cf7bs_default_form_properties\u003C\u002Fcode> which works exactly like the other filter mentioned above.\u003C\u002Fp>\n\u003Cp>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 \u003Ccode>layout\u003C\u002Fcode> is set to ‘default’:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"form-group row\">\n    \u003Cdiv class=\"col-md-6\">\u003Clabel for=\"user-first-name\">First Name\u003C\u002Flabel>[text user_first_name id:user-first-name layout:none][\u002Ftext]\u003C\u002Fdiv>\n    \u003Cdiv class=\"col-md-6\">\u003Clabel for=\"user-last-name\">Last Name\u003C\u002Flabel>[text user_last_name id:user-last-name layout:none][\u002Ftext]\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Note that the custom form filter takes precedence over the properties defined in the admin, while the default filter is just used as fallback.\u003C\u002Fp>\n\u003Ch4>Input Groups\u003C\u002Fh4>\n\u003Cp>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 \u002F email \u002F url \u002F tel input shortcode. Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[text twitter-username]{input_before}@{\u002Finput_before}Your Twitter Handle[\u002Ftext]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Note that the \u003Ccode>input_before\u003C\u002Fcode> and \u003Ccode>input_after\u003C\u002Fcode> can also be added to textareas. In this case, the content will be displayed directly above or below the textarea respectively.\u003C\u002Fp>\n\u003Ch4>Submit Button Alignment\u003C\u002Fh4>\n\u003Cp>The submit button can be aligned left, center or right to fit your form’s desired appearance. Simply provide an \u003Ccode>align\u003C\u002Fcode> option with either ‘left’, ‘center’ or ‘right’ as value. Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[submit align:right \"Send\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Inline Character Count\u003C\u002Fh4>\n\u003Cp>Contact Form 7 provides a \u003Ccode>[count]\u003C\u002Fcode> 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 \u003Ccode>include_count\u003C\u002Fcode> to any text \u002F email \u002F url \u002F tel \u002F 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:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[text your-text maxlength:80 include_count:after:down]Your Text[\u002Ftext]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[textarea your-text maxlength:500 include_count:after:down input_after:characters---left]Your Text[\u002Ftextarea]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Inline Captcha Image\u003C\u002Fh4>\n\u003Cp>If you’ve been using Contact Form 7 together with the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Freally-simple-captcha\u002F\" rel=\"ugc\">Really Simple CAPTCHA\u003C\u002Fa> plugin, you are probably aware of the \u003Ccode>[captchar]\u003C\u002Fcode> (captcha input field) and \u003Ccode>[captchac]\u003C\u002Fcode> (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 \u003Ccode>[captchac]\u003C\u002Fcode> shortcode completely and instead add a new option \u003Ccode>include_captchac\u003C\u002Fcode> to the \u003Ccode>[captchar]\u003C\u002Fcode> shortcode. You can optionally give this option a value (either ‘before’ or ‘after’) to mark the location where the image should show up. Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[captchar your-captcha include_captchac:before]Captcha[\u002Fcaptchar]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Custom Form URLs\u003C\u002Fh4>\n\u003Cp>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 \u003Ccode>cf7bs_add_get_parameter()\u003C\u002Fcode> where you provide parameters similarly to the WordPress Core function \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fadd_query_arg\" rel=\"nofollow ugc\">add_query_arg\u003C\u002Fa>. Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$my_custom_url = cf7bs_add_get_parameter( array(\n    'your-name'     => 'John Doe',\n    'your-email'    => 'johndoe@example.com',\n    'your-subject'  => 'Support Request',\n), 'http:\u002F\u002Fwww.example.com\u002Fmy-custom-form\u002F' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter Field Arguments\u003C\u002Fh4>\n\u003Cp>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 \u003Ccode>cf7bs_form_{{FORM_ID}}_field_{{FIELD_BASETYPE}}_{{FIELD_NAME}}_properties\u003C\u002Fcode>. 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 \u003Ccode>{{FORM_ID}}\u003C\u002Fcode> with the ID of the form, \u003Ccode>{{FIELD_BASETYPE}}\u003C\u002Fcode> with the type of the field you need to adjust (be sure to not include the asterisks here!) and \u003Ccode>{{FIELD_NAME}}\u003C\u002Fcode> 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.\u003C\u002Fp>\n\u003Ch3>Unsupported functionality\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>There are two things in particular which are explicitly not supported:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>the \u003Ccode>size\u003C\u002Fcode> option on all input fields (Bootstrap form elements scale automatically, so we do not need a custom size for those)\u003C\u002Fli>\n\u003Cli>the \u003Ccode>label_first\u003C\u002Fcode> option on checkbox and radio fields (Bootstrap natively only supports checkboxes and radio buttons where the label is displayed after them)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>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 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffelixarntz\u002Fbootstrap-for-contact-form-7\u002Fissues\" rel=\"nofollow ugc\">raise an issue\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbootstrap-for-contact-form-7\" rel=\"ugc\">submit a support request\u003C\u002Fa>.\u003C\u002Fp>\n","This plugin modifies the output of the popular Contact Form 7 plugin to be styled in compliance with themes using the Bootstrap CSS framework.",10000,316299,96,26,"2018-05-24T13:31:00.000Z","4.9.29","3.6",[18,52,53,54,55],"bootstrap-3","bootstrap-framework","contact-form-7","wpcf7","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbootstrap-for-contact-form-7\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbootstrap-for-contact-form-7.1.4.8.zip",85,{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":77,"download_link":78,"security_score":79,"vuln_count":80,"unpatched_count":11,"last_vuln_date":81,"fetched_at":27},"clean-and-simple-contact-form-by-meg-nicholas","Contact Form Clean and Simple","4.12.2","fullworks","https:\u002F\u002Fprofiles.wordpress.org\u002Ffullworks\u002F","\u003Cp>A clean and simple AJAX contact form with Google reCAPTCHA, flexible CSS framework support, spam filtering, and REST API support for headless WordPress implementations.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Clean\u003C\u002Fstrong>: all user inputs are stripped in order to avoid cross-site scripting (XSS) vulnerabilities.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Simple\u003C\u002Fstrong>: AJAX enabled validation and submission for immediate response and guidance for your users (can be switched off).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flexible Styling\u003C\u002Fstrong>: Choose your CSS framework – Bootstrap (default), Theme Native (inherits your theme’s styles), or Minimal (semantic classes for complete custom styling).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>REST API Support\u003C\u002Fstrong>: Enable headless WordPress implementations to submit forms via authenticated REST API endpoints.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Accessible\u003C\u002Fstrong>: Built with accessibility in mind – proper ARIA attributes, keyboard navigation, screen reader support, and WCAG AA compliant color contrast.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This is a straightforward contact form for your WordPress site. There is very minimal set-up\u003Cbr \u002F>\nrequired. Simply install, activate, and then place the short code \u003Cstrong>[cscf-contact-form]\u003C\u002Fstrong> on your web page.\u003C\u002Fp>\n\u003Cp>A standard set of input boxes are provided, these include Email Address, Name, Message and a nice big ‘Send Message’ button.\u003C\u002Fp>\n\u003Cp>When your user has completed the form an email will be sent to you containing your user’s message.\u003Cbr \u002F>\nTo reply simply click the ‘reply’ button on your email client.\u003Cbr \u002F>\nThe email address used is the one you have set up in WordPress under ‘Settings’ -> ‘General’, so do check this is correct.\u003C\u002Fp>\n\u003Cp>To help prevent spam all data is scanned can be scanned with Fullworks Anti Spam Pro.\u003Cbr \u002F>\nFor this to work you must have the \u003Ca href=\"https:\u002F\u002Ffullworksplugins.com\u002Fproducts\u002Fanti-spam\u002F\" title=\"Fullworks Anti Spam Pro\" rel=\"nofollow ugc\">Fullworks Anti Spam Pro Plugin\u003C\u002Fa> installed and activated.\u003C\u002Fp>\n\u003Cp>Fullworks Anti Spam Pro will also log all your messages, categorized  as spam or not, automatically.\u003C\u002Fp>\n\u003Cp>For added piece of mind this plugin also allows you to add a ‘\u003Cstrong>reCAPTCHA\u003C\u002Fstrong>’.\u003Cbr \u002F>\nThis adds a picture of a couple of words to the bottom of the contact form.\u003Cbr \u002F>\nYour user must correctly type the words before the form can be submitted, and in so doing, prove that they are human.\u003C\u002Fp>\n\u003Ch4>Why Choose This Plugin?\u003C\u002Fh4>\n\u003Cp>Granted there are many plugins of this type in existence already. Why use this one in-particular?\u003C\u002Fp>\n\u003Cp>Here’s why:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Minimal setup. Simply activate the plugin and place the shortcode [cscf-contact-form] on any post or page.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Safe\u003C\u002Fstrong>. All input entered by your user  is stripped back to minimise as far as possible the likelihood of any\u003Cbr \u002F>\nmalicious user attempting to inject a script into your website.\u003Cbr \u002F>\nIf the Fullworks Anti Spam Pro plugin is activated all form data will be scanned for spam.\u003Cbr \u002F>\nYou can turn on reCAPTCHA to avoid your form being abused by bots, however Fullworks Anti Spam Pro will do this without reCAPTCHA.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ajax enabled\u003C\u002Fstrong>. You have the option to turn on AJAX (client-side) validation and submission which gives your users an immediate response when completing the form without having to wait for the page to refresh.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The form can \u003Cstrong>integrate seamlessly into your website\u003C\u002Fstrong>. Turn off the plugin’s default css style sheet so that your theme’s style sheet can be used instead.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flexible CSS styling\u003C\u002Fstrong>: Choose from Bootstrap, Modern (with dark mode), Theme Native, or Minimal styling modes to match your site’s design.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>This plugin will only link in its jQuery file where it’s needed, it \u003Cstrong>will not impose\u003C\u002Fstrong> itself on every page of your whole site!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Works with the \u003Cstrong>latest version of WordPress\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Original plugin written by an \u003Cstrong>experienced PHP programmer\u003C\u002Fstrong>, Megan Nicholas, the code is rock solid, safe, and rigorously tested as standard practice.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Headless WordPress ready\u003C\u002Fstrong>. REST API support allows you to submit forms from decoupled frontends, mobile apps, or any external application with proper authentication.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Hopefully this plugin will fulfil all your needs.\u003C\u002Fp>\n\u003Ch3>PHP 8 Ready\u003C\u002Fh3>\n\u003Cp>Tested on PHP 8.4\u003C\u002Fp>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Cp>Unless you want to change messages or add reCAPTCHA to your contact form then this plugin will work out of the box without any additional setup.\u003C\u002Fp>\n\u003Cp>Important: Check that you have an email address set-up in your WordPress ‘Settings’->’General’ page. This is the address that the plugin will use to send the contents of the contact form.\u003C\u002Fp>\n\u003Cp>To add the contact form to your WordPress website simply place the shortcode [cscf-contact-form] on the post or page that you wish the form to appear on.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>If you have Jetpack plugin installed disable the contact form otherwise the wrong form might display.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Additional Settings\u003C\u002Fh3>\n\u003Cp>This plugin will work out of the box without any additional setup. You have the option to change the default messages that are displayed to your user and to add reCAPTCHA capabilities.\u003C\u002Fp>\n\u003Cp>Go to the settings screen for the contact form plugin.\u003C\u002Fp>\n\u003Cp>You will find a link to the setting screen against the entry of this plugin on the ‘Installed Plugins’ page.\u003C\u002Fp>\n\u003Cp>Here is a list of things that you can change\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Message\u003C\u002Fstrong>: The message displayed to the user at the top of the contact form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Message Sent Heading\u003C\u002Fstrong>: The message heading or title displayed to the user after the message has been sent.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Message Sent Content\u003C\u002Fstrong>: The message content or body displayed to the user after the message has been sent.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>CSS Framework\u003C\u002Fstrong>: Choose how the form is styled:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Bootstrap (Default)\u003C\u002Fstrong>: Uses Bootstrap CSS classes for full Bootstrap compatibility. Best for themes already using Bootstrap.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern (Card style)\u003C\u002Fstrong>: A beautiful, opinionated modern design with card-style layout, large inputs, and CSS variables for easy customization. Includes automatic dark mode support.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme Native\u003C\u002Fstrong>: Uses minimal classes with WordPress’s wp-element-button for the submit button. The form inherits your theme’s native form styles.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Minimal\u003C\u002Fstrong>: Uses semantic CSS classes only (cscf-field, cscf-input, etc.) for complete custom styling control.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Use this plugin’s default stylesheet\u003C\u002Fstrong>: The plugin comes with a default style sheet to make the form look nice for your user. Untick this if you want to use your theme’s stylesheet instead. The default stylesheet will simply not be linked in. This option is most relevant when using the Bootstrap CSS framework.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Use client side validation (Ajax)\u003C\u002Fstrong>: When ticked the contact form will be validated and submitted on the client giving your user instant feedback if they have filled the form in incorrectly. If you wish the form to be validated and submitted only to the server then untick this option.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Use reCAPTCHA\u003C\u002Fstrong>: Tick this option if you wish your form to have a reCAPTCHA box. ReCAPTCHA helps to avoid spam bots using your form by checking that the form filler is actually a real person. To use reCAPTCHA you will need to get a some special keys from google https:\u002F\u002Fwww.google.com\u002Frecaptcha\u002Fadmin\u002Fcreate. Once you have your keys enter them into the Public key and Private key boxes\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>reCAPTCHA Public Key\u003C\u002Fstrong>: Enter the public key that you obtained from here.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>reCAPTCHA Private Key\u003C\u002Fstrong>: Enter the private key that you obtained from here.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>reCAPTCHA Theme\u003C\u002Fstrong>: Here you can change the reCAPTCHA box theme so that it fits with the style of your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Recipient Emails\u003C\u002Fstrong>: The email address where you would like all messages to be sent.\u003Cbr \u002F>\nThis will default to the email address you have specified under ‘E-Mail Address’ in your WordPress General Settings.\u003Cbr \u002F>\nIf you want your mail sent to a different address then enter it here.\u003Cbr \u002F>\nYou may enter multiple email addresses by clicking the ‘+’ button.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Confirm Email Address\u003C\u002Fstrong>: Email confirmation is now optional. To force your user to re-type their email address tick ‘Confirm Email Address’.\u003Cbr \u002F>\nIt is recommended that you leave this option on. If you turn this option off your user will only have to enter their email address once,\u003Cbr \u002F>\nbut if they enter it incorrectly you will have no way of getting back to them!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Email Subject\u003C\u002Fstrong>: This is the email subject that will appear on all messages. If you would like to set it to something different then enter it here.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Override ‘From’ Address\u003C\u002Fstrong>: If you tick this and then fill in the ‘From Address:’ box then all email will be sent from the given address NOT from the email address given by the form filler.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>**Option to allow enquiry to email themselves a copy of the message.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Contact consent\u003C\u002Fstrong>: This option allows you to be GDPR compliant by adding a ‘Consent to contact’ check box at the bottom of the form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Enable REST API\u003C\u002Fstrong>: Turn on REST API support to allow headless WordPress implementations to submit forms.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Required User Capability\u003C\u002Fstrong>: Set the minimum WordPress user capability required to use the REST API (default: edit_posts).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>REST API for Headless WordPress\u003C\u002Fh3>\n\u003Cp>This plugin includes REST API support, making it perfect for headless WordPress implementations, mobile applications, and decoupled frontend frameworks like React, Vue.js, or Angular.\u003C\u002Fp>\n\u003Ch4>Enabling REST API\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to the plugin settings page\u003C\u002Fli>\n\u003Cli>Find the “REST API Settings” section\u003C\u002Fli>\n\u003Cli>Check “Enable REST API”\u003C\u002Fli>\n\u003Cli>Set the required user capability (default: edit_posts)\u003C\u002Fli>\n\u003Cli>Save your settings\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>API Endpoint\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>POST\u003C\u002Fstrong> \u003Ccode>\u002Fwp-json\u002Fcscf\u002Fv1\u002Fsubmit\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Authentication\u003C\u002Fh4>\n\u003Cp>The REST API requires WordPress user authentication. Users must be logged in and have the capability specified in settings (default: edit_posts).\u003C\u002Fp>\n\u003Cp>For headless implementations, you can use:\u003Cbr \u002F>\n– Application Passwords (WordPress 5.6+)\u003Cbr \u002F>\n– JWT Authentication plugins\u003Cbr \u002F>\n– OAuth plugins\u003Cbr \u002F>\n– Basic Authentication (development only)\u003C\u002Fp>\n\u003Ch4>Request Format\u003C\u002Fh4>\n\u003Cp>Send a POST request with JSON body:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`json\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>{\u003Cbr \u002F>\n  “name”: “John Doe”,\u003Cbr \u002F>\n  “email”: “john@example.com”,\u003Cbr \u002F>\n  “confirm_email”: “john@example.com”,\u003Cbr \u002F>\n  “message”: “Your message here”,\u003Cbr \u002F>\n  “phone_number”: “+1234567890”,\u003Cbr \u002F>\n  “contact_consent”: true,\u003Cbr \u002F>\n  “email_sender”: false,\u003Cbr \u002F>\n  “post_id”: 123\u003Cbr \u002F>\n}\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Required fields:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>name\u003C\u002Fcode>: Sender’s name\u003Cbr \u002F>\n– \u003Ccode>email\u003C\u002Fcode>: Sender’s email address\u003Cbr \u002F>\n– \u003Ccode>message\u003C\u002Fcode>: The message content\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Optional fields:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>confirm_email\u003C\u002Fcode>: Required if email confirmation is enabled in settings\u003Cbr \u002F>\n– \u003Ccode>phone_number\u003C\u002Fcode>: Required if phone number is set as mandatory in settings\u003Cbr \u002F>\n– \u003Ccode>contact_consent\u003C\u002Fcode>: Required if contact consent is enabled in settings\u003Cbr \u002F>\n– \u003Ccode>email_sender\u003C\u002Fcode>: Set to true to send a copy to the sender\u003Cbr \u002F>\n– \u003Ccode>post_id\u003C\u002Fcode>: The ID of the page\u002Fpost where the form would normally be displayed\u003C\u002Fp>\n\u003Ch4>Response Format\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Success Response (200):\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>json\u003Cbr \u002F>\n{\u003Cbr \u002F>\n  \"success\": true,\u003Cbr \u002F>\n  \"message\": \"Message Sent\"\u003Cbr \u002F>\n}\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Validation Error Response (400):\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>json\u003Cbr \u002F>\n{\u003Cbr \u002F>\n  \"code\": \"validation_failed\",\u003Cbr \u002F>\n  \"message\": \"Validation failed.\",\u003Cbr \u002F>\n  \"data\": {\u003Cbr \u002F>\n    \"status\": 400,\u003Cbr \u002F>\n    \"errors\": {\u003Cbr \u002F>\n      \"email\": \"Please enter a valid email address.\",\u003Cbr \u002F>\n      \"message\": \"Please enter a message.\"\u003Cbr \u002F>\n    }\u003Cbr \u002F>\n  }\u003Cbr \u002F>\n}\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Authentication Error Response (401):\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>json\u003Cbr \u002F>\n{\u003Cbr \u002F>\n  \"code\": \"rest_forbidden\",\u003Cbr \u002F>\n  \"message\": \"Authentication required.\",\u003Cbr \u002F>\n  \"data\": {\u003Cbr \u002F>\n    \"status\": 401\u003Cbr \u002F>\n  }\u003Cbr \u002F>\n}\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Example Implementation\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>JavaScript (fetch API):\u003C\u002Fstrong>\u003Cbr \u002F>\n    `javascript\u003Cbr \u002F>\nconst formData = {\u003Cbr \u002F>\n  name: “John Doe”,\u003Cbr \u002F>\n  email: “john@example.com”,\u003Cbr \u002F>\n  confirm_email: “john@example.com”,\u003Cbr \u002F>\n  message: “This is a test message from the REST API”\u003Cbr \u002F>\n};\u003C\u002Fp>\n\u003Cp>fetch(‘https:\u002F\u002Fyoursite.com\u002Fwp-json\u002Fcscf\u002Fv1\u002Fsubmit’, {\u003Cbr \u002F>\n  method: ‘POST’,\u003Cbr \u002F>\n  headers: {\u003Cbr \u002F>\n    ‘Content-Type’: ‘application\u002Fjson’,\u003Cbr \u002F>\n    ‘Authorization’: ‘Bearer YOUR_AUTH_TOKEN’\u003Cbr \u002F>\n  },\u003Cbr \u002F>\n  body: JSON.stringify(formData)\u003Cbr \u002F>\n})\u003Cbr \u002F>\n.then(response => response.json())\u003Cbr \u002F>\n.then(data => {\u003Cbr \u002F>\n  if (data.success) {\u003Cbr \u002F>\n    console.log(‘Message sent successfully!’);\u003Cbr \u002F>\n  } else {\u003Cbr \u002F>\n    console.error(‘Validation errors:’, data.data.errors);\u003Cbr \u002F>\n  }\u003Cbr \u002F>\n});\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch4>Important Notes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>REST API is disabled by default for security\u003C\u002Fli>\n\u003Cli>reCAPTCHA is bypassed for REST API submissions (authentication provides security)\u003C\u002Fli>\n\u003Cli>All other form validations and spam filtering still apply\u003C\u002Fli>\n\u003Cli>Form submissions via REST API are processed identically to regular submissions\u003C\u002Fli>\n\u003Cli>Email notifications work the same way as standard form submissions\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>Demo site coming soon.\u003C\u002Fp>\n","A clean and simple contact form with flexible CSS framework support.",8000,546899,94,195,"2025-12-31T15:28:00.000Z","6.9.4","5.6","7.4",[18,19,20,76,21],"feedback-form","https:\u002F\u002Ffullworks.net\u002Fproducts\u002Fclean-and-simple-contact-form","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclean-and-simple-contact-form-by-meg-nicholas.4.12.2.zip",99,2,"2020-01-14 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":80,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":16,"tags":96,"homepage":100,"download_link":101,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"lana-contact-form","Lana Contact Form","1.4.0","Lana Codes","https:\u002F\u002Fprofiles.wordpress.org\u002Flanacodes\u002F","\u003Cp>Easy to use bootstrap based contact form with captcha.\u003C\u002Fp>\n\u003Cp>The Lana Contact Form are developed primarily for Lana themes.\u003C\u002Fp>\n\u003Ch4>Video\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FJt62n4tq4R4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>How to use with function:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u003C?php\nif( function_exists( 'lana_contact_form' ) ) {\n    echo lana_contact_form();\n}\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Available shortcodes:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[lana_contact_form]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Customize view:\u003C\u002Fh4>\n\u003Cp>Copy the \u003Ccode>\u002Fwp-content\u002Fplugins\u002Flana-contact-form\u002Fview\u002Flana-contact-form.php\u003C\u002Fcode> file to \u003Ccode>\u002Fwp-content\u002Fthemes\u002F{your-theme}\u002Flana-contact-form\u002Flana-contact-form.php\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Change the file in the theme folder.\u003C\u002Fp>\n\u003Ch4>Lana Codes\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Flana.codes\u002Fproduct\u002Flana-contact-form\u002F\" rel=\"nofollow ugc\">Lana Contact Form\u003C\u002Fa>\u003C\u002Fp>\n","Easy to use contact form with captcha",20,3733,90,"2022-09-13T11:06:00.000Z","6.0.11","4.0",[97,98,20,99],"bootstrap-contact-form","captcha","email-message","https:\u002F\u002Flana.codes\u002Fproduct\u002Flana-contact-form\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flana-contact-form.1.4.0.zip",{"slug":97,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":25,"num_ratings":80,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":16,"tags":114,"homepage":117,"download_link":118,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"MA Bootstrap Contact Form","1.4","malinantonsson","https:\u002F\u002Fprofiles.wordpress.org\u002Fmalinantonsson\u002F","\u003Cp>Bootstrap Contact Form is a wordpress plugin that easily creates contact forms in Swedish and English, styled by Twitter Bootstrap.\u003C\u002Fp>\n\u003Cp>The plugin is styled by using Bootstrap classes such as “form-control”. It accessible and the input is validated using both HTML5 and PHP before being sent to your specified e-mail.\u003C\u002Fp>\n\u003Cp>English shortcode: [bootstrapcontactform_english]\u003Cbr \u002F>\nSwedish shortcode: [bootstrapcontactform_swedish]\u003C\u002Fp>\n\u003Cp>Official plugin website here: \u003Ca href=\"http:\u002F\u002Fwww.malinantonsson.com\u002Fbootstrap-contact-form\" title=\"link to official plugin site\" rel=\"nofollow ugc\">www.malinantonsson.com\u002Fbootstrap-contact-form\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Markdown\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>User-friendly contact form\u003C\u002Fli>\n\u003Cli>HTML5  and PHP validation\u003C\u002Fli>\n\u003Cli>Easy setup\u003C\u002Fli>\n\u003Cli>Available in Swedish and English\u003C\u002Fli>\n\u003Cli>Totally free\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>English shortcode: [bootstrapcontactform_english]\u003Cbr \u002F>\nSwedish shortcode: [bootstrapcontactform_swedish]\u003C\u002Fp>\n","Bootstrap Contact Form is a wordpress plugin that easily creates contact forms in Swedish and English, styled by Bootstrap.",10,2623,"2015-05-23T16:05:00.000Z","4.2.39","3.0.1",[18,20,115,116],"svenska","swedish","http:\u002F\u002Fmalinantonsson.com\u002Fbootstrap-contact-form","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbootstrap-contact-form.1.4.zip",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":109,"downloaded":127,"rating":11,"num_ratings":11,"last_updated":128,"tested_up_to":129,"requires_at_least":95,"requires_php":16,"tags":130,"homepage":132,"download_link":133,"security_score":134,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"wpxon-ajax-contact-form","WPxon Ajax Contact Form","1.0.5","WPxon","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpxon\u002F","\u003Cp>Ajax contact form is a simple and clean deisnged contact form. You will be publishing your Ajax Contact Form plugin with just a few steps.\u003C\u002Fp>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwpxon.com\u002Fajcf\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fwpxon.com\u002Fajcf\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fully responsive and mobile ready.\u003C\u002Fli>\n\u003Cli>Strong Options Panel.   \u003C\u002Fli>\n\u003Cli>Easy Shortcode\u003C\u002Fli>\n\u003Cli>Easy Installation. \u003C\u002Fli>\n\u003Cli>Translation ready \u003C\u002Fli>\n\u003Cli>Easy to use and customize\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Uses\u003C\u002Fh3>\n\u003Cp>There are 2 ways to publish Ajax Contact Form anywhere in the posts or pages with the following shortcodes:\u003C\u002Fp>\n\u003Ch4>In posts or pages editor :-\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[ajax_contact_form]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>In php file:-\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u003C?php echo do_shortcode('[ajax_contact_form]'); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you prefer, start a private support ticket at \u003Ca href=\"https:\u002F\u002Fwpxon.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">support.wpxon.com\u003C\u002Fa>.\u003Cbr \u002F>\nAlso if you want to customize according to you just let us know and buy a coffee for us. We are happy to assists you.\u003C\u002Fp>\n","Ajax contact form is a simple and clean deisnged contact form.",2125,"2024-09-16T07:09:00.000Z","6.6.5",[131,97,20],"ajax-contact-form","http:\u002F\u002Fwpxon.com\u002Fajcf","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpxon-ajax-contact-form.1.0.5.zip",92,{"attackSurface":136,"codeSignals":170,"taintFlows":189,"riskAssessment":190,"analyzedAt":193},{"hooks":137,"ajaxHandlers":161,"restRoutes":162,"shortcodes":163,"cronEvents":169,"entryPointCount":33,"unprotectedCount":11},[138,144,148,153,156],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","init","tcf_init","includes\\functionality.php",19,{"type":139,"name":145,"callback":146,"priority":109,"file":142,"line":147},"wp_mail_failed","tcf_action_wp_mail_failed",43,{"type":139,"name":149,"callback":150,"file":151,"line":152},"admin_menu","tcf_admin_menu","includes\\options.php",28,{"type":139,"name":154,"callback":155,"file":151,"line":79},"admin_init","tcf_settings_init",{"type":139,"name":157,"callback":158,"file":159,"line":160},"admin_notices","closure","themeable-contact-form.php",24,[],[],[164],{"tag":165,"callback":166,"file":167,"line":168},"themeable_contact_form","form_shortcode","src\\ThemeableContactForm\\ContactForm.php",97,[],{"dangerousFunctions":171,"sqlUsage":172,"outputEscaping":174,"fileOperations":11,"externalRequests":11,"nonceChecks":33,"capabilityChecks":33,"bundledLibraries":188},[],{"prepared":11,"raw":11,"locations":173},[],{"escaped":175,"rawEcho":176,"locations":177},50,4,[178,181,184,187],{"file":151,"line":179,"context":180},120,"raw output",{"file":182,"line":183,"context":180},"templates\\contact-form-foundation.php",49,{"file":185,"line":186,"context":180},"templates\\contact-form.php",64,{"file":159,"line":152,"context":180},[],[],{"summary":191,"deductions":192},"The \"themeable-contact-form\" plugin v1.0.0 demonstrates a strong security posture based on the provided static analysis. It exhibits excellent practices by not utilizing dangerous functions, performing all SQL queries using prepared statements, and properly escaping the vast majority of its output. The plugin also incorporates critical security measures like nonce and capability checks, and importantly, has no file operations or external HTTP requests, significantly reducing common attack vectors. The absence of any Taint Analysis findings, even with zero flows analyzed, and a clean vulnerability history with no known CVEs further bolster its security profile.",[],"2026-03-17T07:02:15.136Z",{"wat":195,"direct":204},{"assetPaths":196,"generatorPatterns":199,"scriptPaths":200,"versionParams":201},[197,198],"\u002Fwp-content\u002Fplugins\u002Fthemeable-contact-form\u002Fassets\u002Fjs\u002Fform.js","\u002Fwp-content\u002Fplugins\u002Fthemeable-contact-form\u002Fassets\u002Fcss\u002Fstyle.css",[],[197],[202,203],"themeable-contact-form\u002Fassets\u002Fjs\u002Fform.js?ver=","themeable-contact-form\u002Fassets\u002Fcss\u002Fstyle.css?ver=",{"cssClasses":205,"htmlComments":206,"htmlAttributes":207,"restEndpoints":209,"jsGlobals":210,"shortcodeOutput":212},[4],[],[208],"data-plugin-name=\"themeable-contact-form\"",[],[211],"TCF_ContactForm",[213],"[themeable_contact_form]"]