It shouldn;’t be so hard. All you have to do is to use wp_get_nav_menu_items
filter.
This will add 10 posts to submenu of item which title is equal to ”.
function insert_my_posts_to_menu( $items, $menu, $args ) {
$menu_order = count($items);
$child_items = array();
foreach ( $items as &$item ) {
if ( $item->title != '<SOME MENU ITEM TITLE>' ) continue;
foreach ( get_posts( array('post_type'=>'post', 'numberposts'=>10 ) as $post ) {
$post->menu_item_parent = $item->ID; // add post to submenu of current item
$post->post_type="nav_menu_item";
$post->object="custom";
$post->type="custom";
$post->menu_order = ++$menu_order;
$post->title = $post->post_title;
$post->url = get_permalink( $post->ID );
$child_items[] = $post;
}
}
return array_merge( $items, $child_items );
}
add_filter( 'wp_get_nav_menu_items', 'insert_my_posts_to_menu', 10, 3 );
Then you should also take care of current
classess, I guess.