Задать вопрос
Outoverlay
@Outoverlay

Как реализовано навигационное меню wordpress?

Нужна суть реализации, хочу сделать что-то подобное
Пока завис на этом коде:
Непонятно как вкладывать дочернее меню, и как закрывать теги.

$nav_menuA = array(
array('id' => 12, 'item_parent' => 0, 'name' => 'глав_стр', 'page' => 'primary_index.php'),
array('id' => 15, 'item_parent' => 12, 'name' => 'стр1', 'page' => 'index1.php'),
array('id' => 19, 'item_parent' => 0, 'name' => 'стр4', 'page' => 'index4.php'),
);

$default = array('items' => '[ul class="menu">%1$s[/ul]');
$format = $default['items'];

$sorted_menu_items = $menu_items_with_children = array();
foreach($nav_menuA as $key => $item){
$sorted_menu_items[$key] = $item;
if($item['item_parent'])
$menu_items_with_children[ $item['item_parent'] ] = true;

}

if ( $menu_items_with_children ) {
foreach ( $sorted_menu_items as &$item ) {
if( isset( $menu_items_with_children[ $item['id'] ] ) ){
$output .= "[li][ul class=\"sub-menu\"]{$item['name']}[/ul][/li]";
}else{
$output .= '[li]'.$item['name'];
}
}
}
echo sprintf($format, $output);
  • Вопрос задан
  • 223 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
artikus
@artikus
Разработчик на WP и WC wpruse.ru
Если нужна прямо суть, тогда надо читать кодекс вордпресса. С другой стороны, если есть штатные решения в виде wp_nav_menu() , зачем выдумывать велосипед... Читать wp-kama.ru/function/wp_nav_menu там же есть выдержки из кодекса.
Ответ написан
Valonix
@Valonix
Back end / Front end developer
https://gist.github.com/hitautodestruct/4345363 мне много раз помогал этот код.
Просто под себя переделывал, либо, можно посмотреть в сторону Walker Menu.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы