Contact Form 7 è un ottimo plugin per aggiungere moduli al tuo sito, ma questi moduli contengono sostanzialmente degli input statici e quando utilizziamo WordPress in maniera un po’ più professionale, a volte abbiamo bisogno di aggiungere input con valori dinamici come ad esempio un post ID o variabili PHP del tipo GET e POST oppure altro e lo possiamo fare con l’aiuto di un plugin aggiuntivo Contact Form 7 Dynamic Text Extension, molto interessante, che ci può semplificare 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 la possiblità di inserire dinamicamente contenuto da shorcodes di WP (molto interessante….), 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.