Sto ricevendo questo errore "Warning: Illegal stringa compensato 'tipo' in /home/mysite/public_html/wp-content/themes/evento/lib/php/extra.class.php on line 32"Come si corregge questo offset stringa non valido?
e Ho capito che questa sezione di codice nel file è sbagliata, tuttavia non sono ancora eccezionale in PHP e mi chiedo se qualcuno possa aiutarmi a riscrivere questa sezione per eliminare l'errore. Grazie! (L'errore inizia sulla linea 32 che è l'inizio del if sotto)
Ecco il codice:
/* new version */
function get_attachment_struct($inputs){
$attach = array();
if($inputs['type'] == 'attach'){
$name = $inputs['name'];
$attach = array(
0 => array(
'name' => $name,
'type' => 'text',
'label' => 'Attachment URL',
'lvisible' => false,
'upload' => true,
),
1 => array(
'name' => $name .'_id',
'type' => 'hidden',
'upload' => true
),
);
if(isset($inputs[ 'classes' ])){
$attach[0]['classes'] = $inputs[ 'classes' ];
$attach[1]['classes'] = $inputs[ 'classes' ] . '_id';
}
}
return $attach;
}
/* new version */
I tuoi $ input probabilmente non sono un array o non hanno l'offset "type". Prova a fare var_dump() o print_r() sull'argomento prima di usarlo con la funzione. Il codice sembra ok a prima vista Modifica: sul tuo array $ attach => 0, dopo "upload" => true dovresti eliminare quella virgola. – aleation
@aleation Direi che potrebbe essere meglio aggiungere una virgola al secondo array piuttosto che rimuoverne uno dal primo, ma non si tratta di un errore in entrambi i casi. – Boann