菜单本身是WP中的一种分类法。这意味着您可以在中找到所有菜单wp_terms
表,通过运行以下查询:
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\';
菜单项是WP中的自定义帖子类型。它们存储在
wp_posts
桌子您可以使用以下查询来查找它们:
SELECT *
FROM wp_posts
WHERE post_type = \'nav_menu_item\';
菜单和菜单项之间的关系存储在
wp_term_relationships
桌子要查找特定菜单的所有项目,可以使用此查询:
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*/;
有关当前选择菜单的信息位于
wp_options
表作为序列化PHP数组。例如,如果我们使用TwentyEleven主题,那么我们将在
wp_options
具有的表格
option_name
列等于
theme_mod_twentyeleven
和
option_value
列等于
...;s:18:"nav_menu_locations";a:1:{s:7:"primary";i:103;}}
. 在这里你可以看到菜单
term_id
等于103当前选择为
"primary"
菜单
这里的关键原则是,对于每个WP主题,我们总是有单独的选项记录。这些选项具有相同的名称结构:theme_mods_{your-theme-name}
.
P、 S:要更改管理面板中的当前菜单,只需转到Appearance
»;Menus
翻页并选择所需的菜单Theme Locations
元框: