public function init(): void {
$this->populate_classes();
wpforms()->register_bulk( $this->classes );
* Populate the classes to register.
protected function populate_classes(): void {
$this->populate_common();
$this->populate_frontend();
$this->populate_caches();
$this->populate_fields();
$this->populate_forms_overview();
$this->populate_entries();
$this->populate_builder();
$this->populate_migrations();
$this->populate_capabilities();
$this->populate_smart_tags();
$this->populate_logger();
$this->populate_education();
$this->populate_robots();
$this->populate_anti_spam();
* Populate common classes.
private function populate_common(): void {
'name' => 'Emails\Summaries',
* Populate the Forms related classes.
private function populate_forms(): void {
'name' => 'Forms\Preview',
'name' => 'Forms\Honeypot',
'name' => 'Forms\Akismet',
'name' => 'Forms\Submission',
'name' => 'Forms\Locator',
'name' => 'Forms\IconChoices',
'name' => 'Forms\AntiSpam',
* Populate Frontend-related classes.
private function populate_frontend(): void {
'name' => 'Frontend\Address',
'name' => 'Frontend\Amp',
'name' => 'Frontend\Captcha',
'name' => 'Frontend\CSSVars',
'name' => 'Frontend\Classic',
'id' => 'frontend_classic',
'name' => 'Frontend\Modern',
'id' => 'frontend_modern',
'name' => 'Frontend\Frontend',
* Populate Admin-related classes.
private function populate_admin(): void {
'name' => 'Admin\Notice',
'name' => 'Admin\Revisions',
'name' => 'Admin\Addons\AddonsCache',
'name' => 'Admin\CoreInfoCache',
'id' => 'core_info_cache',
'name' => 'Admin\Addons\Addons',
'name' => 'Admin\AdminBarMenu',
'name' => 'Admin\Notifications\Notifications',
'name' => 'Admin\Entries\Handler',
'name' => 'Admin\Pages\Templates',
'id' => 'templates_page',
'name' => 'Admin\Forms\UserTemplates',
'id' => 'user_templates',
'name' => 'Admin\Forms\Page',
'id' => 'forms_overview',
'name' => 'Admin\Challenge',
'name' => 'Admin\FormEmbedWizard',
'id' => 'form_embed_wizard',
'name' => 'Admin\SiteHealth',
'name' => 'Admin\Settings\ModernMarkup',
'name' => 'Admin\Settings\Email',
'name' => 'Admin\Settings\Captcha\Page',
'name' => 'Admin\Settings\Payments',
'name' => 'Admin\Tools\Tools',
'hook' => 'current_screen',
'name' => 'Admin\Payments\Payments',
'name' => 'Admin\Payments\Views\Overview\Ajax',
'condition' => wpforms_is_admin_ajax(),
'name' => 'Admin\Tools\Importers',
'condition' => wp_doing_ajax(),
'name' => 'Admin\Pages\Addons',
'name' => 'Admin\Pages\ConstantContact',
'name' => 'Admin\Pages\PrivacyCompliance',
'name' => 'Forms\Fields\Richtext\EntryViewContent',
'name' => 'Admin\DashboardWidget',
'hook' => wpforms()->is_pro() ? 'admin_init' : 'init',
'name' => 'Emails\Preview',
'name' => 'Admin\Addons\GoogleSheets',
'name' => 'Admin\PluginList',
'name' => 'Admin\Splash\SplashScreen',
'name' => 'Admin\Splash\SplashCache',
'hook' => 'plugins_loaded',
'name' => 'Admin\Splash\SplashUpgrader',
'id' => 'splash_upgrader',
'hook' => 'plugins_loaded',
* Populate Caches related classes.
private function populate_caches(): void {
'name' => 'LicenseApi\PluginUpdateCache',
'id' => 'license_api_plugin_update_cache',
'name' => 'LicenseApi\ValidateKeyCache',
'id' => 'license_api_validate_key_cache',
* Populate Fields related classes.
private function populate_fields(): void {
'name' => 'Forms\Fields\Address\Field',
'name' => 'Forms\Fields\Content\Field',
'name' => 'Forms\Fields\DateTime\Field',
'name' => 'Forms\Fields\Divider\Field',
'name' => 'Forms\Fields\FileUpload\Field',
'name' => 'Forms\Fields\Hidden\Field',
'name' => 'Forms\Fields\Html\Field',
'name' => 'Forms\Fields\Phone\Field',
'name' => 'Forms\Fields\EntryPreview\Field',
'name' => 'Forms\Fields\Password\Field',
'name' => 'Forms\Fields\CreditCard\Field',
'name' => 'Forms\Fields\Rating\Field',
'name' => 'Forms\Fields\Url\Field',
'name' => 'Forms\Fields\Richtext\Field',
'name' => 'Forms\Fields\Pagebreak\Field',
'name' => 'Forms\Fields\CustomCaptcha\Field',
'name' => 'Forms\Fields\Layout\Field',
'name' => 'Forms\Fields\Layout\Process',
'name' => 'Forms\Fields\Layout\Notifications',
'name' => 'Forms\Fields\Repeater\Field',
'name' => 'Forms\Fields\Repeater\Process',
'id' => 'repeater_process',
'name' => 'Forms\Fields\Repeater\Notifications',
'name' => 'Forms\Fields\PaymentCheckbox\Field',
'name' => 'Forms\Fields\PaymentMultiple\Field',
'name' => 'Forms\Fields\PaymentSelect\Field',
'name' => 'Forms\Fields\PaymentSingle\Field',
'name' => 'Forms\Fields\PaymentTotal\Field',
'name' => 'Forms\Fields\Addons\Coupon\Field',
'addon_class' => 'WPFormsCoupons\Field',
'addon_slug' => 'coupons',
'name' => 'Forms\Fields\Addons\Signature\Field',
'addon_class' => 'WPFormsSignatures\Fields\Signature',
'addon_slug' => 'signatures',