{"id":19028120,"date":"2026-09-24T10:08:23","date_gmt":"2026-09-24T10:08:23","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/forminator-scheduled-actions-continue-after-plugin-removal\/"},"modified":"2026-09-24T10:08:23","modified_gmt":"2026-09-24T10:08:23","slug":"forminator-scheduled-actions-continue-after-plugin-removal","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/forminator-scheduled-actions-continue-after-plugin-removal\/","title":{"rendered":"Forminator scheduled actions continue after plugin removal"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I would like to report an issue I encountered on a WordPress staging website after uninstalling Forminator.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After Forminator had been removed, two Forminator scheduled actions continued to run approximately every minute:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">forminator_process_report<br \/>forminator_send_export<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because the Forminator callbacks were no longer available, these actions repeatedly failed. The number of Forminator-related failures eventually reached 922.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After manually cancelling these two recurring actions, the failures stopped completely. We checked again the following day: no Forminator tasks had been rescheduled and the failure counter was still exactly 922.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Date of investigation: 22\u201323 September 2026<br \/>Purpose: Report findings that may be useful to the Forminator<br \/>support\/development team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Summary<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During troubleshooting of a WordPress staging site, Forminator was<br \/>removed after unusual errors\/code had appeared in the WordPress admin<br \/>area. After removal, we discovered that two Forminator scheduled actions<br \/>continued to run every minute even though the Forminator plugin was no<br \/>longer installed\/active.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because the callbacks belonging to Forminator were no longer registered,<br \/>these scheduled actions failed repeatedly. The number of<br \/>Forminator-related failed background tasks continued to increase until<br \/>the two recurring actions were manually cancelled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After cancellation, the Forminator failure counter stopped increasing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What was observed<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The site initially showed unusual code\/error output in the WordPress<br \/>admin dashboard that appeared to be related to Forminator. Forminator<br \/>was subsequently uninstalled\/deleted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A diagnostic investigation using ChatGPT Work\/Astra then found the<br \/>following:<\/p>\n\n\n\n<ul>\n<li>Old Forminator data was still present in the database.<\/li>\n\n\n\n<li>12 old Forminator form records were detected.<\/li>\n\n\n\n<li>4 Forminator-related database tables remained, including stored<br \/>submissions.<\/li>\n\n\n\n<li>These tables and records were deliberately NOT deleted, because we<br \/>did not want to risk losing historical form\/submission data.<\/li>\n\n\n\n<li>Two Forminator scheduled actions remained active after the plugin had been removed:\n<ul>\n<li>forminator_process_report<\/li>\n\n\n\n<li>forminator_send_export<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Both actions were scheduled to run approximately every minute.<\/li>\n\n\n\n<li>They failed because no callback\/executing function was registered<br \/>after Forminator had been removed.<\/li>\n\n\n\n<li>The failed-action count continued to grow while these scheduled<br \/>actions remained active.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">At one point, the diagnostic report showed approximately 880<br \/>Forminator-related failed actions and increasing. Immediately before<br \/>cancellation\/verification, the Forminator error counter reached 922.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Action taken<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before making changes, a new full Duplicator backup of the staging site<br \/>was created on 22 September 2026 at 21:49.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The backup contained: &#8211; approximately 1.42 GB; &#8211; 56,544 files; &#8211; 8,944<br \/>directories; &#8211; all 229\/229 database tables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No Forminator database tables, forms, submissions, logs or other<br \/>Forminator data were deleted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Only the following two recurring scheduled actions were cancelled:<\/p>\n\n\n\n<ul>\n<li>forminator_process_report<\/li>\n\n\n\n<li>forminator_send_export<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The first cancellation attempt unexpectedly redirected to a Location<br \/>Weather welcome screen, so the same scheduled-action management<br \/>functionality was subsequently accessed via WooCommerce. Both Forminator<br \/>actions were then confirmed as cancelled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verification<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The following day, 23 September 2026, the site was checked again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Results:<\/p>\n\n\n\n<ul>\n<li>No Forminator scheduled actions were pending.<\/li>\n\n\n\n<li>Neither recurring Forminator task had been re-scheduled.<\/li>\n\n\n\n<li>The Forminator failure\/error counter was still exactly 922.<\/li>\n\n\n\n<li>Therefore, no additional Forminator failures had been added since<br \/>cancellation.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The previously cancelled task records were no longer visible in the<br \/>\u201cCancelled\u201d overview, so their historical cancellation status could not<br \/>be re-confirmed directly. However, the fact that no Forminator actions<br \/>were pending and the failure counter remained unchanged indicates that<br \/>the recurring failures had stopped.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Related form behaviour<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There had also been problems with contact forms appearing to disappear<br \/>or reporting \u201cform not found\u201d. During the investigation it became clear<br \/>that at least part of this behaviour was related to Contact Form 7 and<br \/>WPML language assignments\/filtering rather than Forminator itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Those Contact Form 7\/WPML issues were subsequently corrected separately.<br \/>English, German, Dutch and Finnish contact forms were tested<br \/>successfully and the submitted messages arrived correctly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For that reason, we are not claiming that Forminator caused the<br \/>disappearing Contact Form 7 forms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Main issue being reported to Forminator<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The important Forminator-specific observation is:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After Forminator was removed from WordPress, the scheduled actions<br \/>forminator_process_report and forminator_send_export remained scheduled<br \/>and continued to execute every minute. Because the Forminator callbacks<br \/>were no longer available, they generated repeated failed background<br \/>actions until they were manually cancelled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It may be useful for the Forminator team to investigate whether plugin<br \/>deactivation\/uninstallation should automatically unschedule these<br \/>recurring actions, or otherwise prevent them from continuing to execute<br \/>after the plugin is removed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additional notes<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No evidence from this investigation is sufficient to determine whether<br \/>the unusual code\/error output originally seen in the WordPress dashboard<br \/>was caused by a Forminator defect, another plugin conflict, or another<br \/>issue. We therefore do not attribute that behaviour to Forminator<br \/>without further evidence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The remaining Forminator database records\/tables have intentionally been<br \/>preserved in case the support\/development team would like additional<br \/>information from them before they are eventually cleaned up.<\/p>\n","protected":false},"template":"","class_list":["post-19028120","topic","type-topic","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19028120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19028120\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=19028120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}