Привіт @jessegavin :
Морські меню зберігаються в поєднанні користувацьких типів публікацій та спеціальних таксономій. Кожне меню зберігається як термін (тобто "Про меню" , знайдений в wp_terms) спеціальної таксономії (тобто nav_menu, знайденої в wp_term_taxonomy.)
Кожен елемент меню Nav зберігається у вигляді допису post_type=='nav_menu_item'(тобто "Про фірму" , знайденого в wp_posts) з його атрибутами, що зберігаються як мета meta (in wp_postmeta) з використанням meta_keyпрефікса, _menu_item_*де _menu_item_menu_item_parentє ідентифікатор батьківського елемента пункту меню Вашого меню.
Взаємозв'язок між меню та пунктами меню зберігається wp_term_relationshipsтам, де це object_idстосується $post->IDпункту меню Nav Menu, і $term_relationships->term_taxonomy_idстосується меню, визначеного колективно в wp_term_taxonomyі wp_terms.
Я впевнений, що можна було б підключити і те, 'wp_update_nav_menu'і 'wp_update_nav_menu_item'створити фактичні меню в wp_termsпаралельному наборі відносин, wp_term_taxonomyі wp_term_relationshipsде кожен пункт меню Nav, у якому є пункти меню Sub-Nav, також стає його власним Nav Menu.
Ви також хочете підключити 'wp_get_nav_menus' (що я запропонував додати до WP 3.0 на основі якоїсь подібної роботи, яку я робив кілька місяців тому), щоб переконатися, що створені меню Nav не відображаються користувачем для маніпуляцій адміністратором, інакше вони я б швидко вийшов із синхронізації, і тоді у вас був би кошмар даних.
Це здається цікавим і корисним проектом, але це трохи більше коду та тестування, ніж я можу дозволити собі вирішити зараз частково, тому що все, що синхронізує дані, як правило, є ПДФА, якщо мова йде про прасування всіх помилок (і тому, що Клієнти, що платять, тиснуть на мене, щоб все зробити. :) Але, озброївшись вищенаведеною інформацією, я досить вмотивований розробник плагінів WordPress може кодувати це, якщо захоче.
Звичайно, ви зараз розумієте, якщо ви зробите код, ви зобов'язані опублікувати його тут, щоб ми могли отримати користь від вашої великої! :-)