在isset或空中的非法偏移类型是什么,我以前从未遇到过此错误消息?请你给我解释一下这条消息好吗?
还在这里放置了学习如何进行评论的代码。
<?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中的空类型
发布于 2017-06-07 22:59:19
如果在Walker中使用Walker_Nav_Menu而不是在extends中使用Walker_Nav_Menu,则会发生此错误。你应该用这个代替:
class Walker_Nav_Primary extends Walker_Nav_Menu {Walker_Nav_Menu继承Walker类本身,并为您自己的walker类提供适当的属性/方法。
发布于 2017-08-06 10:50:09
你在扩展沃克的课程。因此,您必须在类中定义db_fields,这是强制性的。如果您扩展了Walker_Nav_Menu类,您就不需要它了。示例:
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";
}https://stackoverflow.com/questions/41519278
复制相似问题