web-dev-qa-db-fra.com

Dernier post dans un menu spécifique

est-il possible d'afficher les derniers messages uniquement dans un menu spécifique?

Ceci est mon menu:

register_nav_menus(array(
'primary' => __('Primary Navigation', 'gonzo'),
'mobile' => __('Mobile Navigation', 'gonzo'),
'copyright' => __('Footer Copyright Menu', 'gonzo'),
'toplevel' => __('Top Secondary Menu', 'gonzo')
 ));

modifier ce code

Je veux montrer que dans le menu "primaire". Merci ;)

1
Francesco Craparo

Oui, c'est possible:

function latest_posts_menu($items, $args) {
//To a Specific Menu
if ($args->theme_location == 'primary') {

    // Parent Menu Item
    $items .= '<li id="menu-item" class="menu-item">
                <a href="#">' . __('Latest Posts', 'textdomain') . '</a>
                    <ul class="sub-menu">';
    // Create Sub Menus
    foreach ( get_posts(
                array(
                    'posts_per_page'=>10,
                    'post_type' => array('post')
                    ) 
            ) as $post ) {
            // Menu Thumbnail. You can change the dimenssion as well as the image class
            $thumb = get_the_post_thumbnail( $post->ID, array(24,24), array("class" => "menu-thumb") );
        $items .= '<li class="sub-menu-item">
                        '.$thumb.'
                        <a href="'.get_permalink( $post->ID ).'">'. $post->post_title .'</a>
                    </li>';
    }
    // Close The Menu
    $items .= '</ul></li>';
}
    return $items;
}
add_filter( 'wp_nav_menu_items', 'latest_posts_menu', 10, 2 );

Source: Afficher les derniers messages dans un élément de menu

1
Abhik