1

这是我的 wordpress 主题的一部分,它给了我最后一行代码的错误。我在 PHP 5.4 上运行 wordpress 3.5.1

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

1 回答 1

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 中不起作用。我无法判断这一点,但看起来这段代码似乎非常大量地使用了传递引用,可能超出了必要的范围。

于 2013-04-18T16:00:14.687 回答