Moderne Websites und Online-Marketing für Unternehmer.
Kontaktiere mich:

Viele Kontaktformulare in WordPress speichern standardmäßig die hochgeladenen Anhänge auf dem Server. Diese Vorgehensweise kann gegen die DSGVO verstoßen, da personenbezogene Daten ohne entsprechende Einwilligung und Schutzmaßnahmen gespeichert werden. In diesem Artikel zeige ich, wie man einen Mechanismus implementiert, der die Dateien nach dem Versand der E-Mail automatisch löscht, um die Datensicherheit zu erhöhen und das Risiko von Datenschutzverstößen zu minimieren.
Die ursprüngliche Implementierung hatte mehrere Einschränkungen:
Im Folgenden finden Sie den kompletten Plugin-Code, den ich in meinen Projekten implementiert habe. Die Tests haben gezeigt, dass alles reibungslos funktioniert:
<?php
/*
Plugin Name: Delete Forminator Uploads
Description: Automatisches Löschen von Anhängen aus dem Kontaktformular, das auf der Forminator-Plugin basiert. Lösung gemäß DSGVO – nach dem Versand der E-Mail werden die Dateien vom Server gelöscht.
Version: 1.0
Author: Dein Name
*/
add_action('forminator_custom_form_after_send_email', 'delete_forminator_uploads', 10, 2);
function delete_forminator_uploads($entry, $form_id) {
// Bestimmen des Upload-Verzeichnisses
$upload_dir = wp_upload_dir();
$uploads_path = $upload_dir['basedir'] . '/forminator';
// Überprüfen, ob Dateien übermittelt wurden
if (isset($entry['form_data']['files']) && is_array($entry['form_data']['files'])) {
foreach ($entry['form_data']['files'] as $file) {
// Erstellen des vollständigen Pfads zur Datei
$file_path = $uploads_path . '/' . $file;
// Überprüfen, ob die Datei existiert und sie löschen
if (file_exists($file_path)) {
if(unlink($file_path)) {
error_log("Datei gelöscht: " . $file_path);
} else {
error_log("Datei konnte nicht gelöscht werden: " . $file_path);
}
}
}
}
}
?>
Die Implementierung dieser Lösung ermöglicht es:
Ich habe diesen Code bereits in meinen Projekten übernommen und kann bestätigen, dass alles einwandfrei funktioniert. Wenn Sie Unterstützung benötigen, kontaktieren Sie mich bitte hier!