2013-03-21 3 views
0

это часть моей темы wordpress, и это дает мне ошибку для последней строки кода. Иам работает WordPress 3.5.1 на 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 

и вот код

$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; 
+0

Какая из них - строка 234? Какую версию PHP вы используете? Какую тему вы используете? Какая версия Wordpress? – andrewsi

+0

234 - это $ post-> meta = & $ meta, у меня есть версия php 5.4 и wordpress 3.5.1 –

+0

Каким объектом является '$ post'? –

ответ

0

Без посмотрев на что-нибудь - и, таким образом, это не может работать на всех - попробуйте это:

$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; 

Похоже, вы назначаете значение ссылкой на объект ArrayAccess. Это не работает в некоторых версиях PHP. Я не могу судить об этом, но похоже, что этот код очень сильно использует сквозную ссылку, возможно, более чем необходимо.

Смежные вопросы