코드의 문제는 실제로 메뉴에 대한 링크를 추가하지 않고 메뉴의 출력에만 링크를 추가하므로 필터 (add_filter)를 사용하므로 실제로 메뉴의 출력을 필터링하지 않는 것입니다. 사용중인 코드와 함께 링크가 표시되는 메뉴가 있습니다. 그러나 링크를 만들어 메뉴에 추가하려면 다음 코드를 사용할 수 있습니다.
$run_once = get_option('menu_check');
if (!$run_once){
//give your menu a name
$name = 'theme default menu';
//create the menu
$menu_id = wp_create_nav_menu($name);
//then get the menu object by its name
$menu = get_term_by( 'name', $name, 'nav_menu' );
//then add the actuall link/ menu item and you do this for each item you want to add
wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Home'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'));
//then you set the wanted theme location
$locations = get_theme_mod('nav_menu_locations');
$locations['main-menu'] = $menu->term_id;
set_theme_mod( 'nav_menu_locations', $locations );
// then update the menu_check option to make sure this code only runs once
update_option('menu_check', true);
}
나는 그것을 더 간단하게 만들기 위해 온통 댓글을 달았습니다.
하위 페이지 / 하위 페이지 / 두 번째 레벨 메뉴를 만들려면 (그러나 언제라도 호출 할 수 있음) menu-item-parent-id
새 항목 을 설정해야합니다 . 예를 들면 다음과 같습니다.
//create the top level menu item (home)
$top_menu = wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Home'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
'menu-item-parent-id' => 0,
));
//Sub menu item (first child)
$first_child = wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('First_Child'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
'menu-item-parent-id' => $top_menu,
));
//Sub Sub menu item (first child)
$Second_child = wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Second_Child'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
'menu-item-parent-id' => $first_child,
));
또한 코드로 위치를 설정할 수 있으며 다음 menu-item-position
과 같이 생각합니다.
- 첫 번째 항목- 'menu-item-position'=> 1
- 첫 번째 항목 첫 번째 자식- 'menu-item-position'=> 1
- 첫 번째 항목 두 번째 자식- 'menu-item-position'=> 1
- 첫 번째 항목 두 번째 자식 첫 번째 자식- 'menu-item-position'=> 1
- 두 번째 항목- 'menu-item-position'=> 2
- 세 번째 항목- 'menu-item-position'=> 3
- 네 번째 항목- 'menu-item-position'=> 4