首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Walker类的Wordpress问题

Walker类的Wordpress问题
EN

Stack Overflow用户
提问于 2017-01-07 08:06:48
回答 2查看 1.4K关注 0票数 2

在isset或空中的非法偏移类型是什么,我以前从未遇到过此错误消息?请你给我解释一下这条消息好吗?

还在这里放置了学习如何进行评论的代码。

代码语言:javascript
复制
  <?php
  if (has_nav_menu('primary_navigation')) :
    wp_nav_menu( array(
      'theme_location' => 'primary_navigation',
      'menu_class' => 'menu',
      'menu_class' => 'mobile-menu',
      'walker' => new  Walker_Nav_Primary (),
      )
    );
  endif;
  ?>

class Walker_Nav_Primary extends Walker {
  function start_lvl( &$output, $depth = 0, $args = array() ) { //ul
    $indent = str_repeat("\t",$depth);
    $submenu = ($depth > 0) ? ' sub-menu' : '';
    $output .= "\n$indent<ul class=\"fallback$submenu depth_$depth\">\n";
  }

警告:第140行的isset中的非法偏移类型或/Users/brandonpowell/sites/valet/wordpress-development/web/wp/wp-includes/class-wp-walker.php中的空类型

EN

回答 2

Stack Overflow用户

发布于 2017-06-07 22:59:19

如果在Walker中使用Walker_Nav_Menu而不是在extends中使用Walker_Nav_Menu,则会发生此错误。你应该用这个代替:

代码语言:javascript
复制
class Walker_Nav_Primary extends Walker_Nav_Menu {

Walker_Nav_Menu继承Walker类本身,并为您自己的walker类提供适当的属性/方法。

票数 6
EN

Stack Overflow用户

发布于 2017-08-06 10:50:09

你在扩展沃克的课程。因此,您必须在类中定义db_fields,这是强制性的。如果您扩展了Walker_Nav_Menu类,您就不需要它了。示例:

代码语言:javascript
复制
class Walker_Nav_Primary extends Walker {

// Tell Walker where to inherit it's parent and id values
    var $db_fields = array(
        'parent' => 'menu_item_parent', 
        'id'     => 'db_id' 
    );

  function start_lvl( &$output, $depth = 0, $args = array() ) { //ul
    $indent = str_repeat("\t",$depth);
    $submenu = ($depth > 0) ? ' sub-menu' : '';
    $output .= "\n$indent<ul class=\"fallback$submenu depth_$depth\">\n";
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41519278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档