Un dei plugin più usati per inserire dei form in WordPress è Contact Form 7 ed, a mio avviso è un dei migliori perchè, oltre ad avere tantissime estensioni per ampliarlo, consente anche un ottimo livello di personalizzazioni.
Però in genere i form contengono sostanzialmente degli input statici e, soprattutto quando utilizziamo WordPress in maniera professionale, a volte abbiamo bisogno di aggiungere input con valori dinamici, come ad esempio un post ID piuttosto che variabili PHP del tipo GET e POST oppure altro in base alla nostra applicazione.
Con Contact Form 7 ci viene in aiuto una extension o meglio un plugin aggiuntivo: Contact Form 7 Dynamic Text Extension, molto interessante, che ci da una mano in tutte queste operazioni.
Questo plugin aggiunge due tipi di tag a Contact Form 7: Dynamic Text e Dynamic Hidden, a cui possono essere appunto collegati valori dinamici. La differenza fra i due è semplice, uno mostra il contenuto aggiunto nel form consentendo di modificarlo in fase di compilazione del form stesso, e l’altro aggiunge il suo contenuto in modo non visibile all’utente che compila il form.
L’autore del plugin già mostra degli esempi per il funzionamento del plugin stesso dando anche l’interessante possiblità di inserire dinamicamente contenuto da shorcodes di WP, ma andiamo oltre, proviamo a fare un esempio con l’intenzione di voler aggiungere un input nascosto nel form e dargli come valore l’ID del post corrente.
Avremo quindi la necessità di creare una funzione, tipo questa:
con la quale in pratica andiamo a creare uno shortcode per ricavare il post ID e poi andiamo a creare il “dynamic field” utilizzando uno dei due modi messi a disposizione dall’autore del plugin:
[dynamictext my-filed-name "CF7_ADD_POST_ID"]
indicando direttamente il nome dello shortcode creato oppure:
[dynamictext my-filed-name "CF7_get_post_var key='ID'"]
Bisogna fare attenzione alla sintassi utilizzando correttamente i doppi apici racchiudendo tutto o i singoli apici solo per la key.
Il plug-in ha già impostazioni per GET, POST, informazioni sui blog, informazioni sui post, URL corrente, campi personalizzati, informazioni sugli utenti correnti, URL dei referrer, ma l’aspetto ancora più interessante è appunto che creando uno shortcode con una semplice funzione come visto precedentemente, in pratica Contact Form 7 diventa molto potente, consentendo ad esempio l’interazione tramite form in front-end e gli sviluppatori di professione non potranno che trarre enorme vantaggio dalla rapidità messa a disposizione da questo plugin nella creazione veloce di form personalizzati.