Avevo già avuto occasione di scrivere su Cforms, ottimo plugin di gestione form per WordPress e confermo le mie ottime impressioni.
Proprio a riguardo di ciò sono rimasto abbastanza sconcertato quando aggiungendo il plugin ad un sito WordPress mi si è verificato uno sconosciuto:
‘Fatal error: Cannot use string offset as an array in /home/nomesito/public_html/wp-content/plugins/cforms/lib_activate.php on line 7’
L’occasione mi serve per scrivere un paio di considerazioni sull’argomento.
Il livello di qualità di WordPress e relativi plugin è negli ultimi anni cresciuto tantissimo, tanto da rendere gli utenti completamente dipendenti dai più noti e spesso non si riesce a trovare un’alternativa a quelli che utilizziamo più di frequente.
Il secondo pensiero che mi coglie è che altrettanto spesso gli utilizzatori di questi plugin di altissimo livello non contraccambiano con un corrispettivo in denaro; quindi come scelta personale effettuerò le ricariche richieste dagli sviluppatori ogni volta che il plugin ricoprirà le mie esigenze e mi avrà soddisfatto.
Adesso veniamo alla soluzione del problema; per prima cosa bisogna dire che il sito WordPress su cui ho caricato Cforms l’avevo preparato offline su un database locale e, dopo le opportune modifiche, l’ho caricato online, con file, immagini, impostazioni e ovviamente anche i plugin installati.
Il tutto funzionava perfettamente sino al momento in cui non ho attivato il plugin Cforms e WordPress mi segnalava il problema.
Soluzione 1
Ho pensato che si fosse corrotto il plugin e quindi l’ho reinstallato, ma il problema persisteva.
Soluzione 2
Ho pensato che potesse essere un problema legato ai diritti di scrittura del plugin e quindi ho permesso il diritto 775 su tutta la cartella cforms, ma il problema continuava a rimanere lì in alto.
Soluzione 3
Ho pensato che se in locale funziona e on-line no probabilmente mancasse qualche cosa, quindi mi sono spulciato i file e mi sono accorto che era assente il file abspath.php nella cartella di cforms; questo perché il file viene generato una volta che viene attivato il plugin, quindi non essendo attivo il file manca. La logica mi suggerisce di ricreare io il file, copiando dal sito in locale con quello online, provo ma nulla.
Capisco che i file scrivibili dentro i plugin devo essere abspath.php e il file js/cforms.js dentro la directory js; ma nulla, continua a non funzionare. Dopo un pò l’illuminazione.
Il plugin Cforms sicuramente salverà le proprie impostazioni all’interno del database di WordPress, pertanto, dopo una veloce ricerca all’interno del database, ho trovato che all’interno della tabella ‘wp_options‘ è presente una riga chiamata ‘cforms_settings‘. E’ sufficiente cancellare questa riga e tutto ricomincia a funzionare; infatti qui vengono salvate tutte le impostazioni del plugin, quindi, eliminando queste informazioni viene rigenerato il file abspath.php con tutti i form preparati in locale.
Poiché la procedura non è tra le più semplici, considerando anche che si va a lavorare su PHPMyAdmin, vi riassumo qui come fare.
Per iniziare bisogna proprio entrare su PHPMyAdmin, selezionare il database in cui è installato il sito con WordPress, e, tra le tabelle presenti, selezionare proprio ‘wp_options‘ [1]; qui vi sono moltissime righe, e per non perdere tempo a ricercare tra tutte, clicchiamo sulla tabella ‘option_name‘ per ottenere un ordinamento alfabetico [2], perciò tra le prime righe troverete quello che state cercando, la voce ‘cforms_settings‘ [3]; una volta selezionata, potete eliminarla per riavere cforms funzionante [4].