Performance Plugin Considerations

When using a performance plugin, the following information may be of assistance:

Rest API

WS Form uses the WordPress REST API both in the admin and also when submitting forms on a website. The REST API should therefore not be disabled. At minimum all REST API calls to the following path should be enabled:

/wp-json/ws-form/v1/*

Enqueued JavaScript Files

  • All enqueue paths have a version appended to them, e.g. ?ver=1.0.0
  • WS Form provides minified and non-minified versions of all enqueued JavaScript files. If the SCRIPT_DEBUG constant is set to true, WS Form will enqueue the non-minified JavaScript files to aid with debugging. The non-minified JavaScript files do not contain .min in the file path.
  • The plugin path for WS Form PRO is /wp-content/plugins/ws-form-pro/.
  • The plugin path for WS Form LITE is /wp-content/plugins/ws-form/.
  • WS Form PRO does not require WS Form LITE to be installed. They are two different plugins.

The file paths below represent all possible WS Form PRO minimized files. The actual files enqueued will depend on the functionality included in your form.

Core WS Form Scripts

These files are always enqueued:

/wp-includes/js/jquery/jquery.min.js
/wp-content/plugins/ws-form-pro/shared/js/ws-form.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public.min.js

Debug Console Script

If the debug console is enabled, the following file will be enqueued:

/wp-content/plugins/ws-form-pro/public/js/ws-form-public-debug.min.js

Dynamic Enqueuing Scripts

The following files may be enqueued if that functionality is required by a particular field type.

/wp-content/plugins/ws-form-pro/public/js/ws-form-public-analytics.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-calc.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-captcha.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-cascade.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-checkbox.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-color.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-conditional.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-date.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-date-translate.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-ecommerce.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-file.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-geo.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-google-address.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-google-map.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-google-route.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-legal.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-loader.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-password.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-progress.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-rating.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-section-repeatable.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-select.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-signature.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-tab.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-tel.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-textarea.min.js
/wp-content/plugins/ws-form-pro/public/js/ws-form-public-tracking.min.js

Third Party Scripts

The following files may be enqueued if that functionality is required by a particular field type.

/wp-content/plugins/ws-form-pro/public/js/external/dropzone.min.js
/wp-content/plugins/ws-form-pro/public/js/external/intlTelInput.min.js
/wp-content/plugins/ws-form-pro/public/js/external/jquery.datetimepicker.full.min.js
/wp-content/plugins/ws-form-pro/public/js/external/jquery.inputmask.min.js
/wp-content/plugins/ws-form-pro/public/js/external/jquery.minicolors.min.js
/wp-content/plugins/ws-form-pro/shared/js/external/select2.full.min.js
/wp-content/plugins/ws-form-pro/public/js/external/signature_pad.min.js
/wp-content/plugins/ws-form-pro/public/js/wp/zxcvbn.min.js
/wp-content/plugins/ws-form-pro/public/js/wp/password-strength-meter.min.js

WordPress Core Scripts

TinyMCE

If the visual editor is enabled in a text area field, the following files may be included:

/wp-admin/js/editor.min.js
/wp-admin/js/media-upload.min.js
/wp-includes/js/admin-bar.min.js
/wp-includes/js/dist/vendor/wp-polyfill-inert.min.js
/wp-includes/js/dist/vendor/regenerator-runtime.min.js
/wp-includes/js/dist/vendor/wp-polyfill.min.js
/wp-includes/js/dist/dom-ready.min.js
/wp-includes/js/dist/hooks.min.js
/wp-includes/js/dist/i18n.min.js
/wp-includes/js/dist/a11y.min.js
/wp-includes/js/hoverintent-js.min.js
/wp-includes/js/jquery/ui/menu.min.js
/wp-includes/js/jquery/ui/autocomplete.min.js
/wp-includes/js/quicktags.min.js
/wp-includes/js/shortcode.min.js
/wp-includes/js/thickbox/thickbox.js
/wp-includes/js/tinymce/tinymce.min.js
/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js
/wp-includes/js/tinymce/langs/en.js
/wp-includes/js/wplink.min.js

CodeMirror

If the HTML editor is enabled in a text area field, the following files may be included:

/wp-includes/js/codemirror/codemirror.min.js
/wp-includes/js/codemirror/htmlhint.js
/wp-includes/js/codemirror/csslint.js
/wp-includes/js/codemirror/esprima.js
/wp-includes/js/codemirror/fakejshint.js

DropzoneJS

If DropzoneJS is enabled in a file upload field, the following files may be included:

/wp-includes/js/jquery/ui/sortable.min.js
/wp-includes/js/jquery/jquery.ui.touch-punch.js