В прошлом году мне удалось добавить дополнительные элементы в мое меню Wordpress с помощью ходунки. (How can I add parent menu description to my Wordpress menu?)Wordpress walker работает, но не правильно
В настоящее время, ходунки выглядеть slike это в моей функции файла:
// Submenu walker to add image
class submenu_walker extends Walker_Nav_Menu {
function start_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\t", $depth);
global $description;
$output .= "<ul class='sub-menu'><li class='menu-image-container'><div class='menu-image'></div><div class='menu-description'>".$description."</div></li>";
}
function end_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\t", $depth);
$output .= "<li><div class='clear'></div></li></ul>";
}
}
По существу, то, что я хотел сделать, это добавить изображение и краткое описание для каждого подменю первого уровня, расположенных на сайт: www.bellavou.co.uk
Если вы посетите этот сайт, вы увидите, что он выглядит хорошо, потому что я использовал CSS, чтобы скрыть все другие экземпляры, которые мне не нужны. Но если вы проверите, вы увидите, что контейнер меню-изображения добавляется для каждого подменю в родительских элементах меню.
Внутри «Лица» есть подменю «Элемент» в подменю «Лицо», «Глаз» и «Ухо», а также та, которая отображается в главном подменю.
Мне нужен только основной, и я думаю, что это достигается путем изменения настроек глубины, но я пробовал и не вносил никаких изменений.
Что можно сделать, чтобы создать новое подменю только в главном подменю верхнего уровня?
UPDATE & РЕШИТЬ:
Оказывается, я думал в правильном направлении, с точки зрения глубины, где правила применяются получить. Но не думал о существующих подменю, которые у меня есть.
// Submenu walker to add image
class submenu_walker extends Walker_Nav_Menu {
function start_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\t", $depth);
if(0 == $depth) {
global $description;
$output .= "<ul class='sub-menu'><li class='menu-image-container'><div class='menu-image'></div><div class='menu-description'>".$description."</div></li>";
} else {
$output .= "<ul class='sub-menu'>";
}
}
function end_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\t", $depth);
if(0 == $depth) {
$output .= "<li><div class='clear'></div></li></ul>";
} else {
$output .= "</ul>";
}
}
}
Это теперь установил его с только ДИВ изображения появляются один раз в самом верху подменю родительского, а другие просто отображать их дочерние элементы.
Это то, что я пытался, и, хотя кажется, что он меняет изменения, это неправильно. Самое близкое, что я получаю, это именно то, что вы положили, но затем он избавляется от подменю в основном подменю, например «Лицо», «Ухо», «Глаз» .. что происходит с заголовками и ссылками меню? все индивидуальные вещи 'li' – Lee
Говоря это, я понял, почему. Но ваш комментарий действительно помог мне понять это, поэтому я добавлю дополнительную часть к моему вопросу, а затем буду отмечать ваше мнение. – Lee
Конечно, вы правы. Я исправлю свой ответ соответственно. Спасибо. –