WS Form LITE – Drag & Drop Contact Form Builder Security & Risk Analysis

wordpress.org/plugins/ws-form

Contact form builder for WordPress. Create professional, accessible, mobile-friendly forms in minutes without coding.

10K active installs v1.10.80 PHP 7.2+ WP 5.4+ Updated Mar 4, 2026
contact-formform-builderformsgdprlead-generation
96
A · Safe
CVEs total5
Unpatched0
Last CVEApr 24, 2025
Safety Verdict

Is WS Form LITE – Drag & Drop Contact Form Builder Safe to Use in 2026?

Generally Safe

Score 96/100

WS Form LITE – Drag & Drop Contact Form Builder has a strong security track record. Known vulnerabilities have been patched promptly.

5 known CVEsLast CVE: Apr 24, 2025Updated 29d ago
Risk Assessment

The "ws-form" plugin v1.10.80 presents a mixed security posture. While it demonstrates good practices in SQL query preparation (89%) and output escaping (98%), significant concerns arise from its attack surface. Specifically, two AJAX handlers lack authentication checks, creating potential entry points for unauthorized actions or data manipulation. The presence of the `unserialize` function is a notable risk, as it can lead to remote code execution if exposed to untrusted input.

The vulnerability history reveals a pattern of five medium-severity vulnerabilities, including missing authorization, cross-site scripting, SQL injection, and client-side enforcement issues. Although there are currently no unpatched CVEs, this history suggests a recurring tendency towards insecure handling of user input and permissions. The last vulnerability being relatively recent (April 2025) further underscores the need for vigilance. The absence of critical or high-severity vulnerabilities in the history and the lack of any high-severity taint flows are positive indicators, but the existing medium-severity issues and the unauthenticated AJAX handlers demand attention.

In conclusion, the plugin benefits from robust SQL and output sanitization. However, the unauthenticated AJAX endpoints and the potential risks associated with `unserialize` are significant weaknesses. The historical prevalence of medium-severity vulnerabilities, particularly those related to authorization and input sanitization, indicates areas where the plugin's security practices have been historically insufficient. A balanced approach would involve addressing the immediate risks from unauthenticated entry points and the `unserialize` function, while also considering the long-term implications of its past vulnerability trends.

Key Concerns

  • Unprotected AJAX handlers
  • Presence of unserialize function
  • History of medium severity vulns
  • Bundled library (Select2)
Vulnerabilities
5

WS Form LITE – Drag & Drop Contact Form Builder Security Vulnerabilities

CVEs by Year

2 CVEs in 2023
2023
2 CVEs in 2024
2024
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
5

5 total CVEs

CVE-2025-3912medium · 5.3Missing Authorization

WS Form LITE – Drag & Drop Contact Form Builder for WordPress <= 1.10.35 - Missing Authorization to Unauthenticated Sensitive Information Exposure

Apr 24, 2025 Patched in 1.10.36 (1d)
CVE-2024-10647medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WS Form LITE – Drag & Drop Contact Form Builder for WordPress <= 1.9.244 - Reflected Cross-Site Scripting via URL

Nov 5, 2024 Patched in 1.9.245 (1d)
CVE-2024-47320medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WS Form LITE <= 1.9.238 - Unauthenticated Stored Cross-Site Scripting

Sep 25, 2024 Patched in 1.9.244 (8d)
CVE-2023-52135medium · 6.6Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

WS Form LITE <= 1.9.170 - Authenticated(Administrator+) SQL Injection

Dec 28, 2023 Patched in 1.9.171 (26d)
WF-d99f81ea-1e74-4b67-a6c5-3dbc7865a68a-ws-formmedium · 5.3Client-Side Enforcement of Server-Side Security

WS Form LITE <= 1.9.117 - CAPTCHA Bypass

May 23, 2023 Patched in 1.9.118 (245d)
Code Analysis
Analyzed Mar 16, 2026

WS Form LITE – Drag & Drop Contact Form Builder Code Analysis

Dangerous Functions
12
Raw SQL Queries
19
150 prepared
Unescaped Output
13
757 escaped
Nonce Checks
3
Capability Checks
2
File Operations
10
External Requests
9
Bundled Libraries
1

Dangerous Functions Found

unserialize$actions = is_serialized($this->ws_form_submit->actions) ? unserialize($this->ws_form_submit->actionapi\class-ws-form-api-submit.php:219
unserialize$section_repeatable = is_serialized($submit->section_repeatable) ? unserialize($submit->section_repeincludes\class-ws-form-common.php:2618
unserialize$section_repeatable = is_serialized($submit->section_repeatable) ? unserialize($submit->section_repeincludes\class-ws-form-common.php:3992
unserialize$unserialized_string = @unserialize($serialized_string);includes\class-ws-form-common.php:7154
unserializereturn ($unserialized_string === false) ? @unserialize(self::repair_serialized($serialized_string)) includes\class-ws-form-common.php:7158
unserialize$section_repeatable = is_serialized($submit->section_repeatable) ? unserialize($submit->section_repeincludes\core\class-ws-form-action.php:2114
unserialize$file_objects = unserialize($meta_value);includes\core\class-ws-form-submit-meta.php:200
unserialize$this->actions = $submit_object->actions = is_serialized($submit_object->actions) ? unserialize($subincludes\core\class-ws-form-submit.php:293
unserialize$this->section_repeatable = $submit_object->section_repeatable = is_serialized($submit_object->sectiincludes\core\class-ws-form-submit.php:299
unserialize$value = is_serialized($meta['meta_value']) ? unserialize($meta['meta_value']) : $meta['meta_value']includes\core\class-ws-form-submit.php:1061
unserialize$section_repeatable = !empty($this->section_repeatable) ? unserialize($this->section_repeatable) : aincludes\core\class-ws-form-submit.php:3220
unserialize$section_repeatable_array = $section_repeatable_serialized ? unserialize($submit_object->section_repincludes\core\class-ws-form-submit.php:3544

Bundled Libraries

Select2

SQL Query Safety

89% prepared169 total queries

Output Escaping

98% escaped770 total outputs
Attack Surface
2 unprotected

WS Form LITE – Drag & Drop Contact Form Builder Attack Surface

Entry Points3
Unprotected2

AJAX Handlers 2

authwp_ajax_ws_form_hidden_columnsincludes\class-ws-form.php:472
authwp_ajax_ws_form_divi_formincludes\class-ws-form.php:552

Shortcodes 1

[ws_form] includes\class-ws-form.php:561
WordPress Hooks 216
filteruser_can_richeditadmin\class-ws-form-admin.php:406
actionmedia_buttonsadmin\class-ws-form-admin.php:527
actionadmin_footeradmin\class-ws-form-admin.php:528
actionadmin_footeradmin\class-ws-form-admin.php:542
actionadmin_footeradmin\class-ws-form-admin.php:566
actionadmin_footeradmin\class-ws-form-admin.php:584
actionadmin_footeradmin\class-ws-form-admin.php:610
filterdefault_hidden_columnsadmin\class-ws-form-admin.php:1313
filterscreen_settingsadmin\class-ws-form-admin.php:1314
filterwsf_option_getadmin\class-ws-form-admin.php:1598
filterlist_table_primary_columnadmin\class-ws-form-wp-list-table-form.php:21
filterlist_table_primary_columnadmin\class-ws-form-wp-list-table-style.php:25
filterlist_table_primary_columnadmin\class-ws-form-wp-list-table-submit.php:32
filterwsf_option_getapi\class-ws-form-api-helper.php:399
actionwsf_actions_post_completeapi\class-ws-form-api-submit.php:121
actionwsf_action_repost_completeapi\class-ws-form-api-submit.php:227
filterwsf_config_settings_form_adminincludes\actions\class-ws-form-action-akismet.php:27
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-akismet.php:30
filterwsf_actions_post_saveincludes\actions\class-ws-form-action-akismet.php:33
filterwsf_actions_post_submitincludes\actions\class-ws-form-action-akismet.php:34
actioninitincludes\actions\class-ws-form-action-akismet.php:37
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-data-erasure-request.php:36
filterwp_privacy_personal_data_erasersincludes\actions\class-ws-form-action-data-erasure-request.php:37
actioninitincludes\actions\class-ws-form-action-data-erasure-request.php:40
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-data-export-request.php:36
filterwp_privacy_personal_data_exportersincludes\actions\class-ws-form-action-data-export-request.php:37
actioninitincludes\actions\class-ws-form-action-data-export-request.php:40
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-database.php:35
actionws_form_wp_cron_action_databaseincludes\actions\class-ws-form-action-database.php:38
actioninitincludes\actions\class-ws-form-action-database.php:47
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-email.php:49
actioninitincludes\actions\class-ws-form-action-email.php:52
actionwp_mail_failedincludes\actions\class-ws-form-action-email.php:352
actionpostmark_errorincludes\actions\class-ws-form-action-email.php:355
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-message.php:41
actioninitincludes\actions\class-ws-form-action-message.php:44
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-redirect.php:42
actionrest_api_initincludes\actions\class-ws-form-action-redirect.php:45
actioninitincludes\actions\class-ws-form-action-redirect.php:48
filterwsf_config_meta_keysincludes\actions\class-ws-form-action-wp-ai-client.php:67
filterwsf_config_parse_variablesincludes\actions\class-ws-form-action-wp-ai-client.php:68
filterwp_ai_client_default_request_timeoutincludes\actions\class-ws-form-action-wp-ai-client.php:135
actioninitincludes\blocks\form-add\form-add.php:12
actionwidgets_initincludes\class-ws-form-widget.php:125
actionwp_abilities_api_categories_initincludes\class-ws-form.php:170
actionabilities_api_categories_initincludes\class-ws-form.php:171
actionwp_abilities_api_initincludes\class-ws-form.php:174
actionabilities_api_initincludes\class-ws-form.php:175
actioninitincludes\class-ws-form.php:179
actionplugins_loadedincludes\class-ws-form.php:191
actioninitincludes\class-ws-form.php:228
actioninitincludes\class-ws-form.php:344
actionadmin_initincludes\class-ws-form.php:468
actionadmin_menuincludes\class-ws-form.php:469
actionset-screen-optionincludes\class-ws-form.php:473
actionadmin_enqueue_scriptsincludes\class-ws-form.php:476
actionadmin_enqueue_scriptsincludes\class-ws-form.php:477
actionwp_print_scriptsincludes\class-ws-form.php:481
actionadmin_noticesincludes\class-ws-form.php:485
actioncustomize_registerincludes\class-ws-form.php:488
actionswitch_themeincludes\class-ws-form.php:491
actionenqueue_block_assetsincludes\class-ws-form.php:497
actioninitincludes\class-ws-form.php:502
actionenqueue_block_assetsincludes\class-ws-form.php:503
actionenqueue_block_editor_assetsincludes\class-ws-form.php:504
filterblock_categories_allincludes\class-ws-form.php:509
filterblock_categoriesincludes\class-ws-form.php:513
actioninitincludes\class-ws-form.php:517
actioninitincludes\class-ws-form.php:518
filterdashboard_glance_itemsincludes\class-ws-form.php:521
actionadmin_bar_menuincludes\class-ws-form.php:524
actioninitincludes\class-ws-form.php:534
actionwpincludes\class-ws-form.php:535
actionwp_enqueue_scriptsincludes\class-ws-form.php:538
actionwp_print_scriptsincludes\class-ws-form.php:542
actionwp_footerincludes\class-ws-form.php:546
filternonce_user_logged_outincludes\class-ws-form.php:549
actionrest_api_initincludes\class-ws-form.php:572
actionmcp_adapter_initincludes\class-ws-form.php:577
filterwsf_config_settings_form_adminincludes\core\class-ws-form-action.php:625
filterwsf_config_meta_keysincludes\core\class-ws-form-action.php:628
actionwsf_actions_postincludes\core\class-ws-form-action.php:969
actionwsf_action_postincludes\core\class-ws-form-action.php:970
actionwsf_action_repostincludes\core\class-ws-form-action.php:971
filterwsf_form_create_meta_keysincludes\core\class-ws-form-action.php:974
filtercron_schedulesincludes\core\class-ws-form-cron.php:19
actionwsf_settings_updateincludes\core\class-ws-form-css.php:42
actionwsf_style_publishincludes\core\class-ws-form-css.php:43
filtercustomize_save_responseincludes\core\class-ws-form-css.php:46
actionwp_loadedincludes\core\class-ws-form-css.php:61
filterwsf_form_stat_checkincludes\core\class-ws-form-form-stat.php:22
filterwsf_template_section_config_filesincludes\core\class-ws-form-template.php:30
actionwsf_form_createincludes\core\class-ws-form-translate.php:15
actionwsf_form_deleteincludes\core\class-ws-form-translate.php:16
filterwsf_form_translateincludes\core\class-ws-form-translate.php:19
filterwsf_template_form_config_filesincludes\core\class-ws-form-wp-ai-client.php:18
filterwsf_wp_ai_client_createincludes\core\class-ws-form-wp-ai-client.php:21
filterwp_ai_client_default_request_timeoutincludes\core\class-ws-form-wp-ai-client.php:53
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-acf.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-acf.php:23
actioninitincludes\data-sources\class-ws-form-data-source-acf.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-acpt.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-acpt.php:23
actioninitincludes\data-sources\class-ws-form-data-source-acpt.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-jetengine.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-jetengine.php:23
actioninitincludes\data-sources\class-ws-form-data-source-jetengine.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-meta-box.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-meta-box.php:23
actioninitincludes\data-sources\class-ws-form-data-source-meta-box.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-pods.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-pods.php:23
actioninitincludes\data-sources\class-ws-form-data-source-pods.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-post-status.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-post-status.php:23
actioninitincludes\data-sources\class-ws-form-data-source-post-status.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-post.php:44
actionrest_api_initincludes\data-sources\class-ws-form-data-source-post.php:47
actioninitincludes\data-sources\class-ws-form-data-source-post.php:54
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-preset.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-preset.php:23
actioninitincludes\data-sources\class-ws-form-data-source-preset.php:30
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-term.php:26
actionrest_api_initincludes\data-sources\class-ws-form-data-source-term.php:29
actioninitincludes\data-sources\class-ws-form-data-source-term.php:36
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-toolset.php:23
actionrest_api_initincludes\data-sources\class-ws-form-data-source-toolset.php:26
actioninitincludes\data-sources\class-ws-form-data-source-toolset.php:33
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-user.php:26
actionrest_api_initincludes\data-sources\class-ws-form-data-source-user.php:29
actioninitincludes\data-sources\class-ws-form-data-source-user.php:36
filterwsf_config_meta_keysincludes\data-sources\class-ws-form-data-source-woocommerce.php:20
actionrest_api_initincludes\data-sources\class-ws-form-data-source-woocommerce.php:23
actioninitincludes\data-sources\class-ws-form-data-source-woocommerce.php:30
actiontemplate_redirectpublic\class-ws-form-preview.php:35
filtertemplate_includepublic\class-ws-form-preview.php:38
filterpost_thumbnail_htmlpublic\class-ws-form-preview.php:41
actionwsf_enqueue_allpublic\class-ws-form-public.php:166
actionwsf_enqueue_visual_builderpublic\class-ws-form-public.php:167
actionwsf_enqueue_corepublic\class-ws-form-public.php:168
actionwp_enqueue_scriptspublic\class-ws-form-public.php:173
filterwsf_enqueue_js_commonpublic\class-ws-form-public.php:193
filterwsf_enqueue_js_publicpublic\class-ws-form-public.php:194
filterwsf_enqueue_js_loaderpublic\class-ws-form-public.php:195
filterwsf_enqueue_js_custompublic\class-ws-form-public.php:196
filterwsf_enqueue_js_stylerpublic\class-ws-form-public.php:201
filterwsf_enqueue_css_skinpublic\class-ws-form-public.php:207
filterwsf_enqueue_css_stylepublic\class-ws-form-public.php:208
filterwsf_enqueue_css_layoutpublic\class-ws-form-public.php:209
filterwsf_enqueue_css_loaderpublic\class-ws-form-public.php:210
filterwsf_enqueue_css_custompublic\class-ws-form-public.php:211
filterwsf_enqueue_js_commonpublic\class-ws-form-public.php:230
filterwsf_enqueue_js_publicpublic\class-ws-form-public.php:231
filterwsf_enqueue_js_sortablepublic\class-ws-form-public.php:232
filterwsf_enqueue_js_select2public\class-ws-form-public.php:233
filterwsf_enqueue_js_input_maskpublic\class-ws-form-public.php:234
filterwsf_enqueue_js_loaderpublic\class-ws-form-public.php:235
filterwsf_enqueue_js_custompublic\class-ws-form-public.php:236
filterwsf_enqueue_js_captchapublic\class-ws-form-public.php:239
filterwsf_enqueue_js_checkboxpublic\class-ws-form-public.php:240
filterwsf_enqueue_js_selectpublic\class-ws-form-public.php:241
filterwsf_enqueue_js_radiopublic\class-ws-form-public.php:242
filterwsf_enqueue_js_tabpublic\class-ws-form-public.php:243
filterwsf_enqueue_js_telpublic\class-ws-form-public.php:244
filterwsf_enqueue_js_intl_tel_inputpublic\class-ws-form-public.php:245
filterwsf_enqueue_css_skinpublic\class-ws-form-public.php:249
filterwsf_enqueue_css_stylepublic\class-ws-form-public.php:250
filterwsf_enqueue_css_layoutpublic\class-ws-form-public.php:251
filterwsf_enqueue_css_loaderpublic\class-ws-form-public.php:252
filterwsf_enqueue_css_custompublic\class-ws-form-public.php:253
filterwsf_enqueue_css_basepublic\class-ws-form-public.php:256
filterwsf_enqueue_css_buttonpublic\class-ws-form-public.php:257
filterwsf_enqueue_css_checkboxpublic\class-ws-form-public.php:258
filterwsf_enqueue_css_colorpublic\class-ws-form-public.php:259
filterwsf_enqueue_css_numberpublic\class-ws-form-public.php:260
filterwsf_enqueue_css_radiopublic\class-ws-form-public.php:261
filterwsf_enqueue_css_selectpublic\class-ws-form-public.php:262
filterwsf_enqueue_css_tabpublic\class-ws-form-public.php:263
filterwsf_enqueue_css_telpublic\class-ws-form-public.php:264
filterwsf_enqueue_css_textareapublic\class-ws-form-public.php:265
filterwsf_enqueue_js_debugpublic\class-ws-form-public.php:267
filterwsf_enqueue_js_wp_mediapublic\class-ws-form-public.php:268
filterwsf_enqueue_js_stylerpublic\class-ws-form-public.php:272
filterwsf_enqueue_js_commonpublic\class-ws-form-public.php:286
filterwsf_enqueue_js_publicpublic\class-ws-form-public.php:287
filterwsf_enqueue_js_sortablepublic\class-ws-form-public.php:288
filterwsf_enqueue_js_select2public\class-ws-form-public.php:289
filterwsf_enqueue_js_input_maskpublic\class-ws-form-public.php:290
filterwsf_enqueue_js_loaderpublic\class-ws-form-public.php:291
filterwsf_enqueue_js_custompublic\class-ws-form-public.php:292
filterwsf_enqueue_js_captchapublic\class-ws-form-public.php:295
filterwsf_enqueue_js_checkboxpublic\class-ws-form-public.php:296
filterwsf_enqueue_js_selectpublic\class-ws-form-public.php:297
filterwsf_enqueue_js_radiopublic\class-ws-form-public.php:298
filterwsf_enqueue_js_tabpublic\class-ws-form-public.php:299
filterwsf_enqueue_js_telpublic\class-ws-form-public.php:300
filterwsf_enqueue_js_intl_tel_inputpublic\class-ws-form-public.php:301
filterwsf_enqueue_css_skinpublic\class-ws-form-public.php:305
filterwsf_enqueue_css_stylepublic\class-ws-form-public.php:306
filterwsf_enqueue_css_layoutpublic\class-ws-form-public.php:307
filterwsf_enqueue_css_loaderpublic\class-ws-form-public.php:308
filterwsf_enqueue_css_custompublic\class-ws-form-public.php:309
filterwsf_enqueue_css_basepublic\class-ws-form-public.php:312
filterwsf_enqueue_css_buttonpublic\class-ws-form-public.php:313
filterwsf_enqueue_css_checkboxpublic\class-ws-form-public.php:314
filterwsf_enqueue_css_colorpublic\class-ws-form-public.php:315
filterwsf_enqueue_css_numberpublic\class-ws-form-public.php:316
filterwsf_enqueue_css_radiopublic\class-ws-form-public.php:317
filterwsf_enqueue_css_selectpublic\class-ws-form-public.php:318
filterwsf_enqueue_css_tabpublic\class-ws-form-public.php:319
filterwsf_enqueue_css_telpublic\class-ws-form-public.php:320
filterwsf_enqueue_css_textareapublic\class-ws-form-public.php:321
actionwp_footerpublic\class-ws-form-public.php:1193
actionwp_footerpublic\class-ws-form-public.php:1237
actionwp_footerpublic\class-ws-form-public.php:1288
actionwp_footerpublic\class-ws-form-public.php:1312

Scheduled Events 1

ws_form_wp_cron_action_database
Maintenance & Trust

WS Form LITE – Drag & Drop Contact Form Builder Maintenance & Trust

Maintenance Signals

WordPress version tested7.0
Last updatedMar 4, 2026
PHP min version7.2
Downloads365K

Community Trust

Rating100/100
Number of ratings312
Active installs10K
Developer Profile

WS Form LITE – Drag & Drop Contact Form Builder Developer Profile

Mark Westguard

2 plugins · 10K total installs

87
trust score
Avg Security Score
98/100
Avg Patch Time
56 days
View full developer profile
Detection Fingerprints

How We Detect WS Form LITE – Drag & Drop Contact Form Builder

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/ws-form/assets/css/public/ws-form.css/wp-content/plugins/ws-form/assets/js/public/ws-form.js/wp-content/plugins/ws-form/assets/js/admin/ws-form-admin.js
Script Paths
/wp-content/plugins/ws-form/assets/js/public/ws-form.js/wp-content/plugins/ws-form/assets/js/admin/ws-form-admin.js
Version Parameters
ws-form/assets/css/public/ws-form.css?ver=ws-form/assets/js/public/ws-form.js?ver=ws-form/assets/js/admin/ws-form-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
ws-formwsf-fieldwsf-form-wrapperwsf-builder-wrapperwsf-builder-element
HTML Comments
<!-- WS Form -->
Data Attributes
data-wsf-form-iddata-wsf-field-id
JS Globals
WS_FORM_PUBLIC_AJAX_URLWS_FORM_ADMIN_AJAX_URLWS_FORM_DATAWS_FORM_FORM_IDWS_FORM_AJAX_URL
REST Endpoints
/wp-json/ws-form/v1/
Shortcode Output
[ws_form id=
FAQ

Frequently Asked Questions about WS Form LITE – Drag & Drop Contact Form Builder