Adoro il plugin di WordPress Contact Form 7 e l’ho sempre utilizzato su tutti i siti che ho realizzato, ma da un po’ di tempo a questa parte mi sono accorto che in alcuni casi ci sono problemi con l’invio delle email: lo spinner che indica che il processo di invio è in elaborazione continua a girare all’infinito, e i contenuti del form non vengono inviati!

A sentire lo sviluppatore di Contact Form 7 il problema risiede in un conflitto tra plugin, e la soluzione è quella di disabilitare gli altri plugin. Beh, direi che la soluzione è decisamente poco percorribile, soprattutto perché nei siti dove ho notato questo problema ho WPML (il più popolare plugin di WordPress per gestire il multilingua), e quel che ho notato è che il form funziona perfettamente nella lingua di default, “inceppandosi” solamente nelle pagine localizzate. Quindi che fare? Rinuncio al multilingua!?!?!

Cercando su Google la patch suggerita più frequentemente è quella di modificare un file del plugin, esattamente il file “wp-contact-form-7.php“, cambiando da “true” a “false” la seguente definizione:

define( 'WPCF7_LOAD_JS', true );

Voi provateci se volete, ma nel mio caso però purtroppo questo trucco non ha funzionato! :-(

Io ho risolto passando la medesima informazione attraverso il file “functions.php” del tema, con anche il grande vantaggio di non perdere la modifica ad ogni aggiornamento del plugin CF7!

Per cui, la stringa da inserire in questo caso è:

add_filter( 'wpcf7_load_js', '__return_false' );

Spero questo vi aiuti, io non ero proprio pronto a rinunciare ad uno dei miei plugin preferiti!

se ti piace questa pagina condividila su