add_action( 'wpforms_process_complete', function( $fields, $entry, $form_data ) { // 🔁 CHANGE THIS to your hidden field ID $signature_field_id = 25; if ( empty( $fields[ $signature_field_id ]['value'] ) ) { return; } $data = $fields[ $signature_field_id ]['value']; // Check if it's a base64 image if ( strpos( $data, 'data:image/png;base64,' ) === false ) { return; } // Remove base64 header $data = str_replace( 'data:image/png;base64,', '', $data ); $data = str_replace( ' ', '+', $data ); $decoded = base64_decode( $data ); if ( ! $decoded ) { return; } // Upload directory $upload_dir = wp_upload_dir(); // Create filename $filename = 'signature-' . time() . '.png'; $filepath = $upload_dir['path'] . '/' . $filename; // Save file file_put_contents( $filepath, $decoded ); // Create attachment (adds to Media Library) $attachment = array( 'post_mime_type' => 'image/png', 'post_title' => sanitize_file_name( $filename ), 'post_status' => 'inherit', ); $attach_id = wp_insert_attachment( $attachment, $filepath ); require_once( ABSPATH . 'wp-admin/includes/image.php' ); $attach_data = wp_generate_attachment_metadata( $attach_id, $filepath ); wp_update_attachment_metadata( $attach_id, $attach_data ); // Get URL $file_url = $upload_dir['url'] . '/' . $filename; // 🔁 Replace field value with image URL wpforms()->entry->fields[ $signature_field_id ]['value'] = $file_url; }, 10, 3 );

Calendar of Events

M Mon

T Tue

W Wed

T Thu

F Fri

S Sat

S Sun

1 event,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

0 events,

1 event,

0 events,

0 events,

0 events,

0 events,

0 events,