致命错误:在function.php中删除了调用时传递引用

时间:2014-06-21 15:22:54

标签: php wordpress

我在网站上使用WordPress,但是当我运行我的网站时,我收到标题中指定的错误消息。它说错误发生在文件functions.php和第32行。下面你可以找到代码的一部分:

class Walker_Nav_Menu_Mobile extends Walker_Nav_Menu{

    // don't output children opening tag (`<ul>`)
    public function start_lvl(&$output, $depth){}

    // don't output children closing tag    
    public function end_lvl(&$output, $depth){}

    public function start_el(&$output, $item, $depth, $args){

      // add spacing to the title based on the current depth
      $item->title = str_repeat("&nbsp;", $depth * 4) . $item->title;

      // call the prototype and replace the <li> tag
      // from the generated markup...
      parent::start_el(&$output, $item, $depth, $args); // LINE 32 IS THIS ONE!
      $output = strip_tags($output, '<li><option>');
      $output = str_replace("</option>
</option>","</option>", $output);
      $output = str_replace('<li', '<option value="'.$item->url.'"', $output);
    }
    // replace closing </li> with the closing option tag
    public function end_el(&$output, $item, $depth){
      $output .= "</option>\n";
    }
}

1 个答案:

答案 0 :(得分:0)

从PHP 5.3.0开始,您将收到一条警告,说明&#34;通话时间通过参考&#34;在函数调用上使用引用符号时不推荐使用。仅在函数定义(Passing by Reference)中使用引用符号。

// wrong
parent::start_el( &$output, $item, $depth, $args );

// right
parent::start_el( $output, $item, $depth, $args );