Wie listet man die letzten Posts in einem wp nav Menü auf?

Ich habe das schon seit einiger Zeit versucht und keine klare Antwort bekommen.

Ich muss 11 letzte Beiträge in einem meiner Menüpunkte anzeigen. Mein Menü ist wie folgt:

PUNKT 1 · MAMBA · PUNKT 3

Ich muss Posttitel und die entsprechenden URLs beim Rollover von MAMBA anzeigen. Ich habe diesen Code aus dem Joeyjoejoe-Menü “Kategorie” und seinen letzten 10 Posts als Untermenü, aber eingefügt, so wie ich die letzten Posts für alle Untermenüpunkte als Kategorien abrufen kann.

Ich musste es ein wenig ändern, um nur in MAMBA zu erscheinen:

$category_ten_last_posts = array( 'showposts' => 11, 'category_name' => 'mamba', 

und das Zielobjekt:

 $post->menu_item_parent = 45; 

traurig begann der Code, die Liste der letzten Beiträge in einer duplizierten Manier zu wiederholen:

Mamba

……….

Post 16

Beitrag 15

Post 16

Beitrag 15

Meine Frage hier ist, wie man eine kontrollierte Anzahl der letzten Beiträge von einer gewählten Kategorie zu einem bestimmten Menüpunkt auflistet?

Danke für die Hilfe, die Sie geben können.

Freundliche Grüße. H.

Solutions Collecting From Web of "Wie listet man die letzten Posts in einem wp nav Menü auf?"

Was ist mit der Überprüfung der ID-Wert jedes Menüelements wie folgt:

  if( $item->ID === 45): // ADD THIS MENU-ITEM ID CHECK // Query the lasts ten category posts $category_ten_last_posts = array( 'posts_per_page' => 11, 'category_name' => 'mamba', 'orderby' => 'date', 'order' => 'DESC' ); $posts = get_posts( $category_ten_last_posts ); foreach ( $posts as $post ) { //... } endif; 

ps: Ich habe get_posts() aus dem foreach-Eingabeargument entfernt.

Aktualisieren

Dies funktioniert bei meiner Installation:

 !is_admin() AND add_filter( 'wp_get_nav_menu_items', 'display_lasts_ten_posts_for_categories_menu_item', 10, 3 ); // Add the ten last posts of af categroy menu item in a sub menu function display_lasts_ten_posts_for_categories_menu_item( $items, $menu, $args ){ $menu_order = count($items); $child_items = array(); foreach ( $items as $item ): if( $item->ID === 45 ): // Query the lasts ten category posts $category_ten_last_posts = array( 'posts_per_page' => 11, 'category_name' => 'mamba', 'orderby' => 'date', 'order' => 'DESC' ); $posts = get_posts( $category_ten_last_posts ); foreach( $posts as $post ): // Add sub menu item $post->menu_item_parent = $item->ID; $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 ); /* add children */ $child_items[] = $post; endforeach; endif; endforeach; return array_merge( $items, $child_items ); }