Formidable Forms disable image thumbnail generation

·

·

By default, when you upload an image on any Formidable Forms form during post creation, the image is uploaded to the wp-content/uploads/formidable/1 folder and generates all thumbnail images that register on your WordPress website. However, you might not need any thumbnails if the main image is used only for sending admin email notifications or for another specific purpose. Thus, you can stop generating thumbnails to save some disk space.

Formidable Forms disable image thumbnail generation

To stop generating the thumbnail images or delete them all, we can use the frm_after_create_entry hook, which runs after a form is submitted and an entry is created. You can find more details here: https://formidableforms.com/knowledgebase/frm_after_create_entry/.

Now, we can utilize the PHP glob() function to verify whether the wp-content/uploads/formidable/1 directory contains any image thumbnails or scaled versions that have been created. Subsequently, we can employ the PHP unlink() function to remove these generated images.

PHP functions reference:

  1. https://www.php.net/manual/en/function.glob.php
  2. https://www.php.net/manual/en/function.unlink.php

The Formidable Forms save all post (creation) images in wp-content/uploads/formidable/2, but form upload media is saved in wp-content/uploads/formidable/1. So, if you add 1 after the /formidable/ on the fourth line, it will only apply the code to the 1 folder and allow thumbnails of the post images.

<?php
function after_entry_created( $entry_id, $form_id )
{
 $upload_dir  = wp_upload_dir();
 $upload_path = $upload_dir[ 'basedir' ] . '/formidable/1';

 // Patterns to match thumbnails
 $thumbnails_pattern = $upload_path . '**/{*-*x*.*,*-scaled.*}';

 $thumbnails = glob( $thumbnails_pattern, GLOB_BRACE );

 // Delete all thumbnails
 foreach ( $thumbnails as $thumbnail ) {
  if ( is_writable( $thumbnail ) ) {
   unlink( $thumbnail );
  }
 }
}

add_action( 'frm_after_create_entry', 'after_entry_created', 50, 2 );

You can use the above code snippet in your child theme’s functions.php file or use a Code Snippets plugin.

Code Snippets plugin settings:

Formidable Forms disable image thumbnail generation

Preview:

Formidable Forms disable image thumbnail generation

Note: Keep in mind that this function will delete all image thumbnails and scaled copies from Formidable Forms folder. Make sure to back up your website before using this code snippet. To make a backup, have a look here: https://www.wpbeginner.com/beginners-guide/how-to-backup-your-wordpress-site/


Meet the author

Faisal Ahammad

I’m working as Support Engineer at Saturday Drive Inc (AKA Ninja Forms) and General Translation Editor (GTE) for the #bn_BD 🇧🇩 language. As an active contributor to WordPress and open-source projects, I have translated over 60 themes, plugins, and WordPress core. I also have a small YouTube channel where I share my knowledge.


Leave a Reply

Your email address will not be published. Required fields are marked *