2012-10-26 110 views
1

我在這裏閱讀了一些內容,但由於我是新手,我無法配置將自己的描述更改爲什麼,有人可以幫助我嗎?非法字符串偏移量SEO

我得到這個錯誤:

Warning: Illegal string offset 'seodescription' in C:\xampp\htdocs\testdb1\wp-content\themes\prospect\functions\meta-box.php on line 37

線37看起來是這樣的:

echo htmlspecialchars($data[ $meta_box[ 'name' ] ]); 

的是[]這是怎麼回事反對我?如果是的話,我該如何改變它們並保留$ meta_box定義?

+2

警告指的是'seodescription',數組(但顯然​​一個字符串),它的代碼你包含不包含。涉及的實際線是什麼? – Amber

+1

請以代碼格式編寫該行。 –

+0

唯一的seodescription是在第7行的meta box文件的開頭還是smting,而不是37? – user1776351

回答

0

在下面的一行:

$data[ $meta_box[ 'name' ] ] 

它看起來像$data沒有與鍵$meta_box['name']的值。確保你有正確的鑰匙,並確保$data被定義和訪問。

將上面的行替換爲下面的行。

$data[$meta_box['seodescription']['name']]; 

當你print_r($ data)時你會得到什麼?在第37行之前添加此打印語句。粘貼您的輸出。

+1

這將導致一個'未定義的索引'警告,而不是'非法字符串索引' – VolkerK

+0

我真的很抱歉的愚蠢問題,但我如何檢查值關鍵和它被定義?之前在metabox? – user1776351

+1

嘗試回顯$ meta_box ['name'],告訴我們你得到了什麼,並嘗試打印像print_r($ data)這樣的$數據並告訴我們你得到了什麼。 –

0

$的數據是不是當腳本到達線路37
要測試嘗試像

if (!is_array($data)) { 
    echo '$data is not an array.'; 
    var_dump($data); 
    die; 
} 
else if (!isset($data[ $meta_box[ 'name' ] ])) { 
    echo '$data doesn\'t have a key ', $meta_box[ 'name' ]; 
    die; 
} 
else { 
    echo htmlspecialchars($data[ $meta_box[ 'name' ] ]); 
} 
+0

我在哪裏準確添加? – user1776351

+0

而不是第37行 – VolkerK

相關問題