Обновление пунктов меню навигации программно

Я знаю, это может показаться глупым, но я создал код, который (теоретически) должен добавить несколько подменю в мое основное меню.

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

Мой вопрос: где разместить wp_update_nav_menu_items (…)?

Мой код:

$c = array( "taxonomy" => $post->post_name, "hide_empty" => false, "orderby" => "term_id" ); $categories = get_categories( $c ); if (count($categories) != 0) { $theme_location = 'primary'; $theme_locations = get_nav_menu_locations(); $menu_obj = get_term( $theme_locations[$theme_location], 'nav_menu' ); $menu_name = $menu_obj->name; $menu_id = $menu_obj->term_id; $menu = wp_get_nav_menu_items( $menu_id ); foreach($menu as $menu_item) { if ($menu_item->object_id == $post->ID) { $post_menu = $menu_item->db_id; } } foreach( $categories as $cat ) { add_cat($cat); } function add_cat($cat) { $item = array( 'menu-item-title' => $cat->name, 'menu-item-parent-id' => $post_menu, 'menu-item-url' => $cat->slug, 'menu-item-status' => 'publish' ); $sub_id = wp_update_nav_menu_item( $menu_id, 0, $item ); } } 

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

Solutions Collecting From Web of "Обновление пунктов меню навигации программно"