In breve: l’errore PHP «Cannot access offset of type string on string» appare quando il codice tratta una stringa come un array usando una chiave testuale. La correzione va applicata al plugin, tema o codice personalizzato che produce la riga indicata nello stack trace.
Indice dei contenuti
Individua file e riga
Abilita il log di debug senza mostrare errori ai visitatori e riproduci il problema. Nel trace individua il primo file appartenente a plugin, tema o codice personalizzato. Il messaggio può essere generato da una funzione core, ma la chiamata iniziale spesso arriva da un componente che passa un tipo di dato inatteso.
Correggi il tipo prima dell’offset
Il codice deve verificare che la variabile sia un array, per esempio con is_array(), e che la chiave esista con array_key_exists() o isset(). Non basta nascondere l’avviso: bisogna capire perché la funzione riceve una stringa, magari dopo una risposta API, un’opzione non valida o un dato serializzato male.
Aggiorna e prova in staging
Aggiorna il componente se l’autore ha già pubblicato una correzione. Per codice personalizzato crea una patch in staging, prova i casi con array, stringa, valore nullo e risposta vuota, quindi distribuisci dopo un backup. Se l’errore è iniziato con una nuova versione PHP, verifica la compatibilità dichiarata del componente.