WordPress数据库中的默认菜单

时间:2013-01-05 作者:Hiren Rathod

我的wordpress(3.5)现在有3个菜单。

主菜单(wp中的默认值)页脚菜单(wp中的默认值)

  • 测试菜单现在我保留了测试菜单作为默认值。

    Wordpress在哪里存储这个东西?

    我想知道wordpress将显示在前端的当前菜单存储在哪里。

  • 1 个回复
    最合适的回答,由SO网友:Eugene Manuilov 整理而成

    菜单本身是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_twentyelevenoption_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 元框:

    enter image description here

    结束

    相关推荐

    Query the links Database

    您好,我正在尝试从一个在同一页上显示数据数组的“示例”wp\\U list\\U表转换为一个从数据库中提取数据的“真实”表。我有代码设置,我只需要添加DB查询就可以了。我只是不知道如何查询数据库并使其正确显示。有人愿意看看下面的代码并告诉我如何在wordpress中查询“links”数据库表吗?我认为下面的查询可以工作,但我认为它与我的“示例”表行和列不匹配。$sql = \"SELECT * FROM links\"; $data = $wpdb->get_results($sql);