menus — tablica wp_get_nav_menu_items nie otrzymuje dzieci trzeciego poziomu
![menus — tablica wp_get_nav_menu_items nie otrzymuje dzieci trzeciego poziomu](https://oen.pl/wp-content/uploads/2023/01/apple-touch-icon@2.png)
WordPress Development Stack Exchange to strona z pytaniami i odpowiedziami dla programistów i administratorów WordPress. Rejestracja zajmuje tylko minutę.
Zarejestruj się, aby dołączyć do tej społeczności
Każdy może zadać pytanie
Każdy może odpowiedzieć
Najlepsze odpowiedzi są głosowane i wznoszą się na szczyt
Spytał
Oglądane3 razy
Używam poniższego kodu do niestandardowej struktury menu. Poniższy kod daje tylko dziecko 1. poziomu, ale nie daje elementów potomnych drugiego poziomu. Oto kod –
$array_menus = wp_get_nav_menu_items( 311 );
$menus = array();
foreach ($array_menus as $m) {
if (empty($m->menu_item_parent)) {
$menus[$m->ID] = array();
$menus[$m->ID]['ID'] = $m->ID;
$menus[$m->ID]['catID'] = $m->object_id;
$menus[$m->ID]['title'] = $m->title;
$menus[$m->ID]['url'] = $m->url;
$menus[$m->ID]['menu_item_parent'] = $m->menu_item_parent;
$menus[$m->ID]['children'] = array();
//$menus[$m->ID]['subchildren'] = array();
}
}
$submenu = array();
foreach ($array_menus as $m) {
if ($m->menu_item_parent) {
$submenu[$m->ID] = array();
$submenu[$m->ID]['ID'] = $m->ID;
$submenu[$m->ID]['catID'] = $m->object_id;
$submenu[$m->ID]['title'] = $m->title;
$submenu[$m->ID]['url'] = $m->url;
$submenu[$m->ID]['menu_item_parent'] = $m->menu_item_parent;
$submenu[$m->ID]['subchildren'] = array();
$menus[$m->menu_item_parent]['children'][$m->ID] = $submenu[$m->ID];
}
}
$subsubmenu = array();
foreach ($array_menus as $m) {
if ($m->menu_item_parent==$submenu[$m->menu_item_parent]['ID']) {
$subsubmenu[$m->ID] = array();
$subsubmenu[$m->ID]['ID'] = $m->ID;
$subsubmenu[$m->ID]['catID'] = $m->object_id;
$subsubmenu[$m->ID]['title'] = $m->title;
$subsubmenu[$m->ID]['url'] = $m->url;
$subsubmenu[$m->ID]['menu_item_parent'] = $m->menu_item_parent;
$submenu[$m->menu_item_parent]['subchildren'][$m->ID] = $subsubmenu[$m->ID];
}
}
print_r($menus);
Czy ktoś może pomóc, jak mogę uzyskać element menu drugiego poziomu w powyższym kodzie?
Soum jest nowym współtwórcą tej witryny. Uważaj, prosząc o wyjaśnienia, komentując i odpowiadając. Sprawdź nasz Kodeks Postępowania.
domyślny