Change order of an item under “New” on the admin bar

I had a similar situation. My custom post type showed up under the Admin Bar as Artifact, but my clients preferred it to be at the top of the list. Plus, the items for Media and User were not really needed.

WordPress New menu before

My approach was first to user remove_node to take away all the ones except my custom post-type and then put back the ones I want with add_node

add_action( 'wp_before_admin_bar_render', 'portfolio_adminbar' );

function portfolio_adminbar() {

    global $wp_admin_bar;

    // get node for New + menu node
    $new_content_node = $wp_admin_bar->get_node('new-content');

    // change URL for node, edit for prefered link
    $new_content_node->href = admin_url( 'post-new.php?post_type=portfolio' );

    // Update New + menu node
    $wp_admin_bar->add_node($new_content_node);

    // remove all items from New Content menu
    $wp_admin_bar->remove_node('new-post');
    $wp_admin_bar->remove_node('new-media');
    $wp_admin_bar->remove_node('new-page');
    $wp_admin_bar->remove_node('new-user');

    // add back the new Post link
    $args = array(
        'id'     => 'new-post',    
        'title'  => 'Blog Post', 
        'parent' => 'new-content',
        'href'  => admin_url( 'post-new.php' ),
        'meta'  => array( 'class' => 'ab-item' )
    );
    $wp_admin_bar->add_node( $args );

    // add back the new Page 
    $args = array(
        'id'     => 'new-page',    
        'title'  => 'Page', 
        'parent' => 'new-content',
        'href'  => admin_url( 'post-new.php?post_type=page' ),
        'meta'  => array( 'class' => 'ab-item' )
    );
    $wp_admin_bar->add_node( $args );

}

Here is my menu after:

enter image description here