Sometimes multisite searches cause problems in navigation menus. This is caused by pages from another subsite going into the page cache, and then replacing a page in the navigation menu with the same page ID.
If you’re having this problem, adding the following code to the theme functions.php
should solve the issue.
add_action( 'wp_head', 'rlv_uncache_menu_posts', 99 ); function rlv_uncache_menu_posts() { if ( is_search() ) { global $wpdb; $ids = $wpdb->get_col("SELECT meta.meta_value FROM $wpdb->posts as posts, $wpdb->postmeta as meta WHERE posts.ID = meta.post_id AND posts.post_type = 'nav_menu_item' AND meta.meta_key = '_menu_item_object_id'"); if ( is_array( $ids ) ) { foreach ( $ids as $id ) { clean_post_cache( $id ); } } } }