使用菜单编辑器创建菜单?

时间:2017-04-20 作者:arrowfan

我是wordpress的新手,我正在为一家当地公司创建一个主题,作为我大学学位的最后一个项目。他们希望将此主题作为其所有wp站点的主主题,设计中的任何更改都应由子主题负责。

他们要求一些子页面应该有一个侧栏菜单,而另一些子页面应该有另一个侧栏菜单。

我在页面编辑器中制作了一个带有下拉列表的元框,以便为每个页面选择菜单。下拉列表显示主题中硬编码的所有注册菜单,但不显示在管理菜单编辑器中创建的菜单。

$menus = get_registered_nav_menus();
echo \'<select>\';
foreach($menus as $menu => $value){
   echo \'<option value="\'.$menu.\'">\' . $value .\'</option>\';
}
echo \'</select>\';
如何获得使用管理菜单编辑器创建的菜单?

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

也许这有助于:

function get_all_wordpress_menus(){
    return get_terms( \'nav_menu\', array( \'hide_empty\' => true ) ); 
}
get\\u registered\\u nav\\u菜单仅获取主题菜单,而不获取客户端菜单。

资料来源:Paulund这将返回所有ID。要获取您可以使用的名称,请执行以下操作:

<?php $nav_menu = wp_get_nav_menu_object(ID comes here); echo $nav_menu->name; ?>
所有菜单对象都有以下设置:

Object (
term_id => 7
name => Test menu
slug => Test menu
term_group => 0
term_taxonomy_id => 3
taxonomy => nav_menu
description =>
parent => 0
count => 6
)
资料来源:Stanhub Display wordpress menu title

相关推荐

用标准的干净文件替换NAV-menus.php文件?

我是一个自学成才的wordpress网站设计师,请原谅我的无知。我为一个客户开发的几个网站最近被一个印尼黑客组织破坏了(很有趣!)。客户端没有更新wordpress安装和其他一些危及安全的事情。遗憾的是,没有网站的清理备份。网络主机给了我一个包含恶意软件扫描结果的文本文件。看起来很多受影响的文件都是导航菜单。网站的php文件。文本文件中显示的扫描结果示例如下:“[主目录]/[网站文件夹名称]/wp includes/nav-menu.php:SL-php-INJECTOR-1-ejw.UNOFFICIAL