Contest Vote System per Bricks Builder
Un sistema di voto per Bricks Builder in grado di gestire registrazioni e voti per un concorso.

Introduzione
Il progetto consiste nella creazione di un sistema di gestione per un foto contest utilizzando il Bricks Builder, un costruttore di pagine per WordPress. L'obiettivo è permettere agli utenti di partecipare al contest caricando immagini, compilando un form con dati personali e ricevendo feedback immediati. Il sistema deve anche gestire la validazione dei dati, l'upload delle immagini e l'integrazione con servizi esterni come Google reCaptcha per la protezione da spam.
Struttura del progetto
1. Custom Post Type (CPT) per il Foto Contest
- Nome del CPT:
foto_contest - Campi personalizzati:
- Nome
- Cognome
- Numero di telefono
- Città
- Nome del piatto
- Ricetta e preparazione
- Immagine del piatto (featured image)
- Nome della scuola (opzionale)
- Classe (opzionale)
- Liberatoria PDF (opzionale)
2. Form di partecipazione
- Form Element di Bricks: Utilizzato per raccogliere i dati degli utenti e gestire l'upload delle immagini.
- Azioni del Form:
- Creazione di un nuovo post nel CPT
foto_contest. - Aggiornamento dei meta campi con i dati del form.
- Upload dell'immagine e impostazione come featured image del post.
- Invio di email di conferma.
3. Validazione e sicurezza
- Google reCaptcha V3: Integrato per proteggere il form da spam e abusi.
- Validazione lato server: Verifica dei campi obbligatori e controllo del formato dei dati (es. email, telefono).
- Validazione lato client: Feedback immediato per gli utenti in caso di errori di compilazione.
4. Debugging e logging
- Log degli errori: Utilizzo di
error_logper tracciare il flusso di esecuzione e identificare eventuali problemi. - Controllo degli upload: Verifica che i file vengano caricati correttamente e che siano impostati come featured image.
Implementazione tecnica
1. Creazione del Custom Post Type
2. Gestione del form con Bricks
3. Debugging e logging
Per monitorare il corretto funzionamento del form, è stato implementato un sistema di logging che registra ogni passo dell'elaborazione:
- Log dei campi del form: Verifica che i dati siano correttamente ricevuti.
- Log della creazione del post: Controlla che il post venga creato con successo.
- Log dell'upload dell'immagine: Verifica che l'immagine venga caricata e impostata come featured image.
4. Validazione e sicurezza
Conclusione
Il progetto dimostra come sia possibile utilizzare Bricks Builder per creare un sistema di gestione di un foto contest completo e personalizzabile. Attraverso l'uso di Custom Post Types, Form Element, e Custom Actions, è stato possibile implementare un flusso di lavoro completo senza plugin aggiuntivi che copre dalla raccolta dei dati alla gestione delle immagini, passando per la validazione e la sicurezza. Il sistema di debugging integrato permette di monitorare e risolvere eventuali problemi in modo efficiente, garantendo un'esperienza utente fluida e sicura.