WordPress at a glance
function is not described

_wp_auto_add_pages_to_menu() WP 3.0.0

Automatically add newly published page objects to menus with that as an option.

No Hooks.

Return

Nothing (null).

Usage

_wp_auto_add_pages_to_menu( $new_status, $old_status, $post );
$new_status(string) (required)
The new status of the post object.
$old_status(string) (required)
The old status of the post object.
$post(object) (required)
The post object being transitioned from one status to another.

Code of wp auto add pages to menu: wp-includes/nav-menu.php VER 5.0.3

<?php
function _wp_auto_add_pages_to_menu( $new_status, $old_status, $post ) {
	if ( 'publish' != $new_status || 'publish' == $old_status || 'page' != $post->post_type )
		return;
	if ( ! empty( $post->post_parent ) )
		return;
	$auto_add = get_option( 'nav_menu_options' );
	if ( empty( $auto_add ) || ! is_array( $auto_add ) || ! isset( $auto_add['auto_add'] ) )
		return;
	$auto_add = $auto_add['auto_add'];
	if ( empty( $auto_add ) || ! is_array( $auto_add ) )
		return;

	$args = array(
		'menu-item-object-id' => $post->ID,
		'menu-item-object' => $post->post_type,
		'menu-item-type' => 'post_type',
		'menu-item-status' => 'publish',
	);

	foreach ( $auto_add as $menu_id ) {
		$items = wp_get_nav_menu_items( $menu_id, array( 'post_status' => 'publish,draft' ) );
		if ( ! is_array( $items ) )
			continue;
		foreach ( $items as $item ) {
			if ( $post->ID == $item->object_id )
				continue 2;
		}
		wp_update_nav_menu_item( $menu_id, 0, $args );
	}
}