Tidak dapat menetapkan dengan referensi ke objek yang kelebihan beban

ini adalah bagian dari tema wordpress saya dan ini memberi saya kesalahan pada baris kode terakhir. Saya menjalankan wordpress 3.5.1 pada PHP 5.4

Fatal error: Cannot assign by reference to overloaded object in C:\server\htdocs\web\digitalnak\wp-content\themes\rework\framework\php\PeTheme\PeThemeGallery.php on line 234

dan ini kodenya

 $post =& get_post($id);
    if (!$post ) return $post;
    $null = null;
    if ($post->post_type != "gallery") return $null;

    $meta =& $this->master->meta->get($id,$post->post_type);
    $post->meta =& $meta;

person Silvio Marijic    schedule 21.03.2013    source sumber
comment
Manakah dari baris tersebut yang merupakan baris 234? Versi PHP apa yang Anda jalankan? Apa tema yang Anda jalankan? Wordpressnya versi berapa?   -  person andrewsi    schedule 21.03.2013
comment
234 adalah $post-›meta =& $meta , saya memiliki php versi 5.4 dan wordpress 3.5.1   -  person Silvio Marijic    schedule 21.03.2013
comment
Benda apakah $post itu?   -  person The Pellmeister    schedule 18.04.2013


Jawaban (1)


Tanpa melihat apa pun – dan karena itu mungkin tidak berhasil sama sekali – coba ini:

$post =& get_post($id);
if (!$post ) return $post;

$null = null;
if ($post->post_type != "gallery") return $null;

$meta =& $this->master->meta->get($id,$post->post_type);
$post->meta = $meta;

Sepertinya Anda memberikan nilai dengan referensi ke objek ArrayAccess. Ini tidak berfungsi di beberapa versi PHP. Saya tidak bisa menilai ini, tetapi sepertinya kode ini sangat banyak menggunakan referensi pass-by, mungkin lebih dari yang diperlukan.

person The Pellmeister    schedule 18.04.2013