1

私はここで少し読んだのですが、私は初心者なので、自分で説明を何に変更するかを設定できませんでした.誰かが私を助けてくれますか?

次のエラーが表示されます。

警告: C:\xampp\htdocs\testdb1\wp-content\themes\prospect\functions\meta-box.php の 37 行目に不正な文字列オフセット 'seodescription' があります

37 行目は次のようになります。

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

[] は私に逆らっていますか? はいの場合、それらを変更して $meta_box 定義を保持するにはどうすればよいですか?

4

2 に答える 2

0

以下の行で:

$data[ $meta_box[ 'name' ] ]

$dataキーに値がないよう$meta_box['name']です。正しいキーを持っていることを確認し$data、定義されてアクセス可能であることも確認してください。

上記の行を下の行に置き換えます。

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

また、print_r($ data)を実行すると何が得られますか?このprintステートメントを37行目の前に追加します。出力を貼り付けます。

于 2012-10-26T07:11:25.980 に答える
0


スクリプトが 37 行目に達したとき、$data は配列ではありません(明らかに文字列です)。

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' ] ] );
}
于 2012-10-26T07:30:47.887 に答える