Voici un petit snippet pour afficher dans l’interface de gestion des menus de WordPress l’ensemble des pages marquées comme privées. En effet, celles-ci ne remontent pas de base lors de la construction du menu. Fort heureusement, un filtre existe pour lister les pages disponibles dans la page de gestion des menus. Ce filtre se nomme nav_menu_meta_box_object.

Voici donc son implémentation :

add_filter( 'nav_menu_meta_box_object', 'show_private_pages_in_menu_builder' );

/**
* Display private pages in WordPress menu builder
*/
function show_private_pages_in_menu_builder( $args ){
if( $args->name === 'page' ) {
$args->_default_query['post_status'] = array('publish','private');
}
return $args;
}