Menu dengan sendirinya adalah taksonomi di WP. Ini berarti bahwa Anda dapat menemukan semua menu dalam wp_termstabel, dengan menjalankan kueri berikut:
SELECT *
FROM wp_terms AS t
LEFT JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
WHERE tt.taxonomy = 'nav_menu';
Item menu adalah jenis posting kustom dalam WP. Mereka disimpan dalam wp_poststabel. Anda dapat menemukan semuanya dengan menggunakan kueri ini:
SELECT *
FROM wp_posts
WHERE post_type = 'nav_menu_item';
Hubungan antara menu dan item menu disimpan dalam wp_term_relationshipstabel. Untuk menemukan semua item menu tertentu Anda dapat menggunakan kueri ini:
SELECT p.*
FROM wp_posts AS p
LEFT JOIN wp_term_relationships AS tr ON tr.object_id = p.ID
LEFT JOIN wp_term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id
WHERE p.post_type = 'nav_menu_item'
AND tt.term_id = /*your menu ID*/;
Informasi tentang menu yang dipilih saat ini terletak di wp_optionstabel sebagai array PHP berseri. Misalnya jika kita menggunakan tema TwentyEleven, maka kita akan memiliki catatan dalam wp_optionstabel dengan option_namekolom sama dengan theme_mod_twentyelevendan option_valuekolom sama dengan ...;s:18:"nav_menu_locations";a:1:{s:7:"primary";i:103;}}. Di sini Anda dapat melihat bahwa menu dengan jumlah yang term_idsama dengan 103 saat ini dipilih sebagai"primary" menu.
Prinsip kuncinya di sini adalah bahwa kami selalu memiliki catatan opsi terpisah untuk setiap tema WP. Pilihan tersebut memiliki struktur nama yang sama: theme_mods_{your-theme-name}.
PS: Untuk mengubah menu saat ini di panel admin, cukup buka halaman Appearance» Menusdan pilih menu yang Anda butuhkan di Theme Locationskotak meta:
