diff --git a/src/wp-includes/nav-menu.php b/src/wp-includes/nav-menu.php index ed49892ac0eb6..b0e523bde5dbc 100644 --- a/src/wp-includes/nav-menu.php +++ b/src/wp-includes/nav-menu.php @@ -885,7 +885,11 @@ function wp_setup_nav_menu_item( $menu_item ) { $menu_item->_invalid = true; } - if ( 'trash' === get_post_status( $menu_item->object_id ) ) { + $post_status = get_post_status( $menu_item->object_id ); + + if ( 'private' === $post_status && ! current_user_can( 'read_private_posts' ) ) { + $menu_item->_invalid = true; + } elseif ( 'private' !== $post_status && ! is_post_status_viewable( $post_status ) ) { $menu_item->_invalid = true; }