Questions tagged «menus»

导航菜单是3.0版中引入的主题功能。WordPress包含一种易于使用的机制,可将自定义的导航菜单引入主题。为了将菜单支持合并到主题中,您需要在主题文件中添加一些代码段。

2
自定义Nav Walker显示当前菜单项的子级,或没有子级的同级项
我一直在闲逛/搜索数小时,但仍然无法正常工作,所以我终于屈服了,寻求帮助。 我正在尝试编写一个仅显示当前页面子级的自定义行者,或者如果没有子级显示页面同级。 例如,采用以下菜单树: 1.0 1.2.0 1.3.0 1.3.1 1.3.2 1.2.1 1.2.2 2.0 假设我在当前页面1.2.0上。在此页面上,我要显示其子级(1.3.0、1.3.1、1.3.2) 但是,如果我在1.2.2页上,由于它没有任何子级,它应该显示其当前级别的同级,因此应该显示给我(1.2.0、1.2.1、1.2.2)。
14 menus  walker  children 

6
从REST API V2获取WP导航菜单
我正在尝试使用WP REST API v2插件从JSON响应中获取导航菜单。 没有针对REST API v2的导航菜单插件扩展,仅针对V1。 从Codex WordPress帖子类型中,我了解到导航菜单被视为帖子类型。 从Rest API Doc中,这是我们获取以下类型的帖子的方式: GET http://demo.wp-api.org/wp-json/wp/v2/types/<type> 我试图这样得到它: URL : http://localhost/wptest/wp-json/wp/v2/types/nav_menu_item 我收到403错误。 {"code":"rest_cannot_read_type","message":"Cannot view type.","data":{"status":403}} 服务器理解了我的请求,但拒绝提供数据。 问:我该如何解决?

2
如何使用插件将子菜单添加到wp_nav_menu生成的菜单中
我有一个菜单wp_nav_menu看起来像 <ul class="nav-menu" id="menu-top-nav"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-43" id="menu-item-43"><a href="http://www.example.com/item1.com">Item 1</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-44" id="menu-item-44"><a href="http://www.example.com/item2.com">Item 2</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45" id="menu-item-45"><a href="http://www.example.com/item3.com">Item 3</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-46" id="menu-item-46"><a href="http://www.example.com/item4.com">Item 4</a></li> </ul> 我想通过使用插件将子菜单添加到“项目3”来修改以上菜单,因此下面是我想要的输出。 <ul class="nav-menu" id="menu-top-nav"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-43" id="menu-item-43"><a href="http://www.example.com/item1.com">Item 1</a></li> <li class="menu-item …

1
检查add_menu_page是否存在
我正在开发必须分批发布的插件。 问题是,如果页面中有菜单,则将新插件添加到第二个或下一个子菜单,否则添加新菜单,然后将插件添加到第一个子菜单。 我的问题: 如何检查菜单是否存在? 如果我正在编写一个可重用的函数,那么它将与每个插件一起使用,这将导致冲突选项。 我不知道插件发布的顺序。 add_menu_page( 'Page Title', 'Top Menu Title', 'manage_options', 'my_unique_slug', 'my_magic_function' ); add_submenu_page( 'my_unique_slug', 'page title', 'submenu title', 'manage_options', 'my_submenu_slug', 'my_magic_function_of_submenu' );

2
从导航项获取页面ID
我正在尝试获取导航中的所有ID,并将其转换为字符串,以便与之一起使用,wp_query以获取仅在导航栏中列出的页面。获取ID的代码: $menu_name = 'primary'; if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] )) { $menu = wp_get_nav_menu_object( $locations[ $menu_name ] ); $menu_items = wp_get_nav_menu_items($menu->term_id); } foreach ( $menu_items as $menu_item ) { $numbers[] = $menu_item->ID; } $number = implode(',',$numbers); 但是它返回了错误的数字。当我转到管理区域并将鼠标悬停在页面上时,屏幕底部地址栏中显示的数字不匹配。我究竟做错了什么?
11 menus  id 

3
错误:MyClass :: start_lvl()的声明应与Walker_Nav_Menu :: start_lvl()的声明兼容
我目前在WordPress网站上工作,每当在管理员中进入外观>菜单页面时,都会出现以下错误: ErrorException:运行时注意:wp-admin / includes / nav-menu.php第203行中的Walker_Nav_Menu_Edit :: start_lvl()声明应与Walker_Nav_Menu :: start_lvl()声明兼容 似乎是某种PHP兼容性问题。我在本地开发机上运行PHP 5.3.10。 解决此问题的最佳方法是什么?

4
wp_nav_menu:仅在存在菜单时显示菜单,否则不显示
我正在尝试使用wp_nav_menu仅显示一个菜单(如果存在),否则不显示任何内容。 如果删除菜单,它将输出页面列表。 我的functions.php文件包含: if (function_exists('register_nav_menus')) { register_nav_menus ( array('main_nav' => 'Main Navigation Menu'));} 如何使用wp_nav_menu仅在存在菜单的情况下显示菜单,否则什么也不显示?
11 menus  pages  list 

4
将nav_menu项的输出转换为树形多维数组
有什么办法可以将导航菜单项作为多维数组而不是平面数组来获取? 所谓树状结构,是指可以保留子项与父项之间关系的东西(仅是一个例子)…… array( array( 'post_type' => 'page', 'post_name' => 'Home', 'children' => array() ), array( 'post_type' => 'page', 'post_name' => 'About Us', 'children' => array( array( 'post_type' => 'page', 'post_name' => 'Our History', 'children' => array() ) ) ) ) 有一个wp_get_nav_menu_items()函数,但是它返回一维数组,所有项目都在同一级别,这不是我想要的。WordPress是否包含内置方法来获取菜单项的多维数组?如果不是,wp_get_nav_menu_items()从性能上来说,将树状结构放入多维数组的最佳方法是什么?
11 menus  api 

1
Mega Menu Walker
我正在尝试创建一个大型菜单浏览器。不幸的是,步行者完全逃避了我的编码知识。我真的可以使用一些帮助使其正常工作。这是我需要的功能: 总结第二级<ul>在<section>。[完成] 当用户<li>在第二级中将类“ break”设置<ul>为时,<li>请重新开始<ul>。如果它是<li>列表中的第一个列表,则不要执行任何操作以防止形成空的无序列表。[完成] 当用户<li>在具有子级的第一级中将类“ widget”设置为时<ul>,请将小部件附加到该类的末尾<ul>。[完成] 将类添加mega-menu-columns-#到<li>包含具有多个列和/或小部件的下拉菜单的第一级元素中。#表示<ul>元素数,小部件+1(如果存在)。[完成] 我有一些代码可以执行某些操作,但不是全部。以下是切除部分: 将第二级包装<ul>在<section>: function start_lvl(&$output, $depth = 0, $args = array()) { if ($depth == 0) { $output .= "<section>"; } $output .= "<ul class=\"sub-menu\">"; } function end_lvl(&$output, $depth = 0, $args = array()) { $output .= "</ul>"; if ($depth == 0) { $output …

4
如何获取当前菜单项标题作为变量?
是否有可能将current-menu-item作为php变量? 我通过菜单项“我们支持的博物馆”列出了类别博物馆,所以我想获得“我们支持的博物馆”位并显示在某处? 任何帮助表示赞赏!
10 menus  title 

8
将自定义帖子类型档案添加到WordPress菜单
有没有一种方法(除了添加自定义链接外)可以将自定义帖子类型档案添加到WordPress的菜单中?如果使用自定义链接(例如/ cpt-archive-slug /)添加了WordPress,则WordPress不会将类应用于current-menu-itemlist元素,这会给菜单样式设置带来挑战。 如果自定义链接包含整个URL(例如,http : //site.com/cpt-archive-slug/),则会添加这些类。但是,这可能不是“最佳实践”。

7
将类添加到自定义菜单中的特定链接
我知道您可以在自定义菜单选项中添加一个类,但是它将其添加到A之前的LI中。我想将该类直接应用到此特定A而不是整个LI。 因此,而不是输出 <li id="menu-item-51" class="NEWCLASS menu-item menu-item-type-custom menu-item-51"><a href="#">Link</a> </li> 我也希望这样。 <li id="menu-item-51" class="menu-item menu-item-type-custom menu-item-51"><a href="#" class="NEWCLASS">Link</a></li> 有任何想法吗?
10 menus 

4
在WordPress 3.0的导航菜单中添加帖子存档
大家好,我正在使用WordPress 3.0和两(2)个新功能(自定义帖子类型和菜单编辑器)。 我首先创建了一个新的帖子类型“ products”,就像您猜到的那样,此列表类型。 我正在使用沼泽标准模板,并且正在创建一个新菜单来替换顶部导航。据我所知,我只能向其中添加某些“产品”,而不能添加产品的“存档”。我想做的是在菜单上添加一个链接,以转到列出所有产品的页面。 任何想法如何做到这一点?

4
生成具有wp_list_pages()和WordPress 3.0中新菜单功能的显示子页面的菜单?
以前,我能够使用以下逻辑来为当前选择的父页面选择性地加载子页面: if( $post->post_parent ) { $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); } else { $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); } if ($children) { ?> <ul id="subnav"> <?php echo $children; ?> </ul> <?php } else { } 使用新的register_nav_menus()/ wp_nav_menu()功能似乎没有本机的方法。有人知道我现在该如何修补吗? 这是我要实现的屏幕截图:
10 menus 

7
如何仅在某些页面上显示菜单?
我不想使用侧边栏小部件来告诉它们应该在哪个页面上可见,我喜欢选择菜单设置以显示在特定页面上。 默认的Wordpress方式: 因此,项目是一个页面,并包含一些子页面。但是,如果我又有10个以上处于相同情况的页面和子页面,该怎么办? 我想添加一个额外的设置(顶层页面列表): 但是加载这些设置后,我找不到任何文档,操作,过滤器等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.