自定义菜单保存在Wordpress 3.0数据库中的哪个位置?

Mar*_*arc 22 mysql wordpress

我一直在phpmyadmin中搜索和搜索我的sql数据库,但我似乎无法找到自定义菜单存储在数据库中的位置.有人知道它存放在哪里吗?我有一个基本的大菜单,需要永远创建.我现在正在开发中,而不是在生产中重新创建它我想尝试复制sql以查看它是否有效.谢谢!

Hir*_*hod 65

添加新的自定义菜单时,其条目将添加到多个表中.

  1. table:_term_taxonomy带有列taxonomy和值nav_menu.
  2. 来自1)term_id也在表格中:_terms菜单标题显示在管理面板中
  3. table:_term_relationship将包含term_texonomy_id1)并连接到所有object_id,它将链接到所有_post具有sub_menu和低于级别菜单的表.
  4. 表:_postmeta包含所有与菜单和子菜单的每个细节object_id,从_posts表中.

  • 我不明白这是怎么没有被投票的.我一直在寻找一种导出和导入菜单的方法.我知道我的答案.别.我会手动完成. (3认同)
  • 应该澄清第3步,说明term_relationships中的object_id等于来自wp_post的id字段 (2认同)

Tod*_*ses 31

导航菜单项存储在wp_posts表中post_type = 'nav_menu_item'.

  • 这是多么的错误,wordpress膨胀_posts和_options表抛出各种各样的东西,应该放在一个单独的表中,以便更好的数据库管理和加载速度 (3认同)

小智 19

实际的菜单标题,ID和名称存储在wp_terms表中.

  • 此查询仅返回菜单ID.什么查询返回每个菜单项以及重新生成菜单的足够信息? (3认同)

Jay*_* D. 14

我讨厌碰到一个旧线程.但是如果有人碰到这个就像我一直在搜索答案一样,WP 3.2那么post_type现在nav_menu_itemwp_posts表格中调用for菜单.他们在wp页面上没有那个,他们只是nav_menu.我找不到.


chu*_*lds 11

自定义菜单链接位于 meta_key = _menu_item_url wp_postmeta下的表格中"meta_value"


Doy*_*wis 5

我想为像我这样偶然发现这篇文章的人提供更完整和最新的答案.如果您想手动插入或更新菜单项,则需要检查/更新数据库中的多个位置.

第一步是找到主菜单容器.这存储在wp_terms.只需搜索name菜单名称即可.记下身份证.在我的例子中,这将是33.同样,您可以在此处插入新行以创建新菜单.slu in中不能有空格.只需替代-.

现在我们将在该菜单中找到项目.这些都存储在wp_posts一个post_typenav_menu_item.此表中没有任何内容与上面的ID相关联,因此您必须经过post_title.如果目标是插入新菜单项,与phpMyAdmin,你可以点击Copy在任何菜单中的现有项目,改变post_titlepost_name.现在记下您插入的项目的ID.我的是9179.我们也很高兴注意你复制的项目的ID(如果它来自同一个菜单,那就更好了),我们将在下一步中使用它.

现在转到wp_postmeta并在post_id字段中搜索我们刚刚复制的项目.这将显示需要填写的所有字段以获取新菜单项的信息.使用phpMyAdmin复制每个条目并根据需要进行更改._menu_item_menu_item_parent,_menu_item_target和,_menu_item_classes是最有可能需要改变的领域.并确保您将新项目的ID(9179)放入_menu_item_object_id.

完成这些后,我们现在可以将该菜单项与我们的菜单相关联.我们需要得到term_taxonomy_idwp_term_taxonomy.只需term_id使用第一步中的ID 搜索,33就可以了.该term_taxonomy_id恰好是33对我来说也是如此.不,我们需要插入一个新行wp_term_relationships.object_id将是你的帖子ID(9179)并且term_taxonomy_id是我们刚刚查找的(33).

现在,您的新项目应该在您的菜单中.