- PHP 100%
| languages | ||
| templates | ||
| .gitignore | ||
| eg-contact-form.php | ||
| INSTALLAZIONE.md | ||
| LICENSE.IT.md | ||
| LICENSE.md | ||
| README.md | ||
| readme.txt | ||
EG Contact Form Privacy
Plugin WordPress per form di contatto privacy-first senza tracker, telemetria o servizi esterni.
Caratteristiche
- Zero Tracker - Nessun Google Analytics, Facebook Pixel o servizi di tracking
- Zero Cookie - Non vengono impostati cookie
- Zero Telemetria - Nessun dato inviato a servizi esterni
- GDPR Compliant - Conforme alle normative sulla privacy
- Anti-Spam Integrato - 3 livelli di protezione senza CAPTCHA esterni
- Email di Conferma - Auto-reply automatico al mittente
- Multilingua (i18n) - Supporto traduzioni complete
- Open Source - Codice completamente trasparente e verificabile
- Leggero - Nessuna dipendenza, solo codice essenziale
- Responsive - Design moderno e mobile-friendly
- Isolato - Non interferisce con altri plugin o temi
Novità Versione 1.1.0
Email di Conferma Automatica
Il plugin ora invia automaticamente una email di conferma al mittente dopo l'invio del messaggio.
Controllo tramite shortcode:
[eg_contact_form send_confirmation="yes"] <!-- Default: abilitato -->
[eg_contact_form send_confirmation="no"] <!-- Disabilitato -->
Supporto Multilingua (i18n)
Tutte le stringhe sono ora traducibili! Il plugin include:
- Template
.potper creare nuove traduzioni - Traduzione italiana (it_IT) completa
- Traduzione inglese (en_US) inclusa
- Supporto automatico lingua WordPress
Traduzioni disponibili:
- Italiano (it_IT)
- Inglese (en_US)
- Contribuisci con altre lingue!
Installazione
Via WordPress (Caricamento ZIP)
- Scarica l'ultima versione: eg-contact-form-privacy.zip
- Vai in WordPress → Plugin → Aggiungi nuovo → Carica plugin
- Seleziona il file ZIP scaricato
- Clicca "Installa ora" → "Attiva plugin"
Via FTP
- Scarica l'ultima versione: eg-contact-form-privacy.zip
- Estrai la cartella
eg-contact-form-privacy - Carica in
/wp-content/plugins/via FTP - Attiva il plugin dal pannello WordPress
Aggiornamenti
Questo plugin NON è disponibile su WordPress.org Store, quindi NON si aggiorna tramite il sistema standard di WordPress. Hai due opzioni:
Manuale
- Scarica la nuova versione: eg-contact-form-privacy.zip
- Disattiva il plugin in WordPress
- Elimina la vecchia cartella
/wp-content/plugins/eg-contact-form-privacy/ - Carica la nuova versione (ZIP o FTP)
- Riattiva il plugin
Nota: Le configurazioni salvate nel database NON vengono perse
Automatico via Git Updater (Raccomandato)
Setup iniziale:
- Scarica Git Updater (gratuito, nessun abbonamento richiesto)
- Installa Git Updater in WordPress
- Nessuna configurazione richiesta (repository pubblico)
Funzionamento:
- Git Updater controlla periodicamente nuove release su Gitea
- Le notifiche appaiono in WordPress → Dashboard → Aggiornamenti
- Click "Aggiorna" per installare automaticamente la nuova versione
- Le configurazioni vengono mantenute
Configurazione
- Crea una pagina "Contatti"
- Inserisci lo shortcode:
[eg_contact_form] - Pubblica la pagina
Con opzioni personalizzate:
[eg_contact_form recipient="info@dominio.com" send_confirmation="yes"]
Verifica SMTP
Il plugin usa wp_mail() che si appoggia al tuo plugin SMTP già configurato (es: SMTP Mail, WP Mail SMTP).
Anti-Spam
Il plugin include 3 livelli di protezione senza bisogno di servizi esterni:
- Honeypot - Campo nascosto che i bot compilano per errore
- Time-based Protection - Il form deve restare aperto almeno 3 secondi
- Rate Limiting - Massimo 3 invii per ora per IP (hash anonimizzato SHA-256)
Privacy
- IP degli utenti salvato solo come hash SHA-256 (non reversibile)
- Nessun dato inviato a servizi terzi
- Nessuna modifica permanente al database
- Usa solo transient temporanei (auto-cancellati dopo 1 ora)
- Consenso privacy obbligatorio (GDPR)
Struttura del Repository
eg-contact-form-privacy/
├── eg-contact-form.php # File principale del plugin
├── readme.txt # Documentazione WordPress standard
├── LICENSE.md # Licenza GPL v2 (inglese - ufficiale)
├── LICENSE.IT.md # Licenza GPL v2 (italiano - traduzione)
├── INSTALLAZIONE.md # Guida completa in italiano
├── README.md # Questo file
├── .gitignore # File ignorati da Git
├── languages/ # Traduzioni
│ ├── eg-contact-form.pot # Template traduzioni
│ ├── eg-contact-form-it_IT.po # Italiano
│ └── eg-contact-form-en_US.po # Inglese
└── templates/
└── contact-form.php # Template del form + CSS
Traduzioni (i18n)
Come Tradurre il Plugin
Metodo 1: Plugin Loco Translate (Raccomandato)
- Installa plugin "Loco Translate"
- Vai su Loco Translate → Plugins → EG Contact Form
- Clicca "New Language" → Scegli lingua
- Traduci le stringhe direttamente online
- Salva
Metodo 2: Poedit (Desktop)
- Scarica Poedit
- Apri file
languages/eg-contact-form.pot - Traduci tutte le stringhe
- Salva come
eg-contact-form-{locale}.po - Poedit genera automaticamente il file
.mo
Metodo 3: WP-CLI
cd wp-content/plugins/eg-contact-form-privacy/
wp i18n make-pot . languages/eg-contact-form.pot
wp i18n make-mo languages/
Contribuire con Traduzioni
Hai tradotto il plugin in una nuova lingua?
- Crea una pull request su Gitea
- Includi file
.poe.monella cartellalanguages/ - Sarai menzionato nei credits!
Personalizzazione
Cambiare Colori
Modifica templates/contact-form.php:
/* Colore principale (verde) */
.eg-submit-btn {
background: #4CAF50; /* Cambia questo */
}
/* Colore focus */
.eg-form-group input:focus {
border-color: #4CAF50; /* Cambia questo */
}
Aggiungere Campi
Esempio aggiunta campo telefono:
<!-- Campo Telefono -->
<div class="eg-form-group">
<label for="eg_phone"><?php _e('Telefono (opzionale)', 'eg-contact-form'); ?></label>
<input
type="tel"
id="eg_phone"
name="eg_phone"
placeholder="<?php esc_attr_e('+39 123 456 7890', 'eg-contact-form'); ?>"
>
</div>
Poi aggiungi sanitizzazione e gestione in eg-contact-form.php.
Requisiti
- WordPress: 5.0 o superiore
- PHP: 7.2 o superiore
- SMTP: Plugin SMTP configurato (es: SMTP Mail, WP Mail SMTP)
Shortcode
Shortcode Base
[eg_contact_form]
- Email destinatario: admin WordPress
- Conferma automatica: abilitata
Shortcode con Opzioni
[eg_contact_form recipient="info@dominio.com" send_confirmation="no"]
Opzioni disponibili:
recipient- Email destinatario (default: admin email)send_confirmation- Invia auto-reply (default: "yes")
Test
Dopo l'installazione, testa:
- Invio normale → Deve arrivare email
- Auto-reply → Mittente riceve conferma
- Campi vuoti → Deve dare errore
- Email non valida → Deve dare errore
- 4 invii consecutivi → Al 4° deve bloccare (rate limit)
- Mobile → Deve essere responsive
- Traduzioni → Cambia lingua WordPress
Troubleshooting
Email Non Arrivano
- Verifica che plugin SMTP sia attivo e configurato
- Vai su Impostazioni → SMTP Mail → Test Email
- Controlla cartella spam
- Verifica email di destinazione nello shortcode
Auto-Reply Non Funziona
- Verifica che SMTP sia configurato correttamente
- Controlla che
send_confirmation="yes"nello shortcode - Verifica cartella spam del mittente
Form Non Appare
- Verifica shortcode:
[eg_contact_form](con underscore!) - Verifica che plugin sia attivo
- Svuota cache browser e sito
Traduzioni Non Funzionano
- Verifica che file
.moesista inlanguages/ - Controlla lingua WordPress: Impostazioni → Generali
- Riattiva il plugin
Errori PHP
Attiva debug in wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Controlla log in: wp-content/debug.log
Disinstallazione
Disattivazione
Dashboard → Plugin → Disattiva "EG Contact Form Privacy"
Il form scompare, ma le impostazioni sono salvate.
Rimozione Completa
- Disattiva il plugin
- Clicca "Elimina"
Vengono rimossi:
- File del plugin
- Opzioni database
- Transient rate limiting
Nessun residuo nel database.
Roadmap
Funzionalità pianificate per versioni future:
- Email di conferma automatica (v1.1.0)
- Traduzione multilingua i18n (v1.1.0)
- Pannello admin per configurazione
- Template email personalizzabili HTML
- Allegati file (opzionale)
- Integrazione Cloudflare Turnstile (CAPTCHA privacy-friendly)
- Export contatti in CSV
- Widget per sidebar
Licenza
Questo plugin è rilasciato sotto licenza GPL v2 or later.
GNU General Public License v2
Questo programma è software libero; puoi redistribuirlo e/o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation; versione 2 della Licenza, o (a tua scelta) qualsiasi versione successiva.
Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la Licenza Pubblica Generale GNU per maggiori dettagli.
Testo completo licenza:
- Inglese (ufficiale): LICENSE.md
- Italiano (traduzione): LICENSE.IT.md
- Online: https://www.gnu.org/licenses/gpl-2.0.html
Supporto
Documentazione
- INSTALLAZIONE.md - Guida completa in italiano
- readme.txt - Documentazione WordPress standard
Contatti
- Website: https://emanuelegori.uno
- Repository: https://git.emanuelegori.uno/emanuelegori/eg-contact-form-privacy
- Email: Usa il form di contatto sul sito
Changelog
1.2.0 (2025-01-06)
- Aggiornata licenza da CC BY-NC-SA 4.0 a GPL-2.0-or-later
- Aggiunto LICENSE.md (testo GPL v2 inglese - ufficiale)
- Aggiunto LICENSE.IT.md (traduzione italiana GPL v2)
- Piena conformità con WordPress e FSF
1.1.1 (2024-12-28)
- Bugfix minori
- Migliorata stabilità
1.1.0 (2024-12-26)
- Aggiunta email di conferma automatica al mittente
- Supporto completo i18n multilingua
- Traduzione italiana (it_IT) inclusa
- Traduzione inglese (en_US) inclusa
- Template
.potper nuove traduzioni - Nuovo parametro shortcode
send_confirmation - Documentazione aggiornata con sezione traduzioni
1.0.1 (2024-12-24)
- Migliorata compatibilità readme.txt formato Markdown
- Aggiornata documentazione
1.0.0 (2024-12-24)
- Prima release pubblica
- Form di contatto base con tutti i campi standard
- Anti-spam a 3 livelli (honeypot, time-based, rate limiting)
- Design responsive moderno
- GDPR compliant
- Zero tracker, zero telemetria
- Shortcode
[eg_contact_form]
Autore
Emanuele Gori
- Website: emanuelegori.uno
- Gitea: git.emanuelegori.uno
- Blog: Informatica, libertà digitale e open source
Statistiche
- Versione: 1.2.0
- Data Release: Gennaio 2025
- Licenza: GPL-2.0-or-later
- Lingua: Italiano (+ Inglese)
- Compatibilità: WordPress 5.0+ | PHP 7.2+
- Traduzioni: 2 lingue (it_IT, en_US)
Creato con ❤️ da Emanuele Gori
Privacy-first, sempre!