Questions tagged «walker»

Walker类是在WordPress 2.1中实现的,旨在为开发人员提供一种遍历树状数据结构以呈现HTML的方式。

4
菜单项说明?wp_nav_menu()的自定义Walker
普通的Wordpress菜单如下所示: 主页| 博客| 关于我们| 联系 但是我在这些链接下看到了很多带有说明的页面: 主页| 我们的博客 关于我们| 联系 ....满足我们... | 阅读更多| 基本信息| 联系表 如何实现呢? (我希望它成为我所有主题的核心功能,所以请不要使用任何插件,我只想知道它是如何完成的)

4
使用自定义沃克拆分wp_nav_menu
我正在尝试创建一个最多显示5个项目的菜单。如果还有更多项目,则应将它们包装到另一个<ul>Element中以创建一个下拉列表。 5件以下: 6件以上 我知道这种功能很容易用助行器创建,该助行器对菜单项进行计数,如果剩下的余数超过5个,则将其包装到单独的包装中<ul>。但是我不知道如何创建这个沃克。 当前显示我的菜单的代码如下: <?php wp_nav_menu( array( 'theme_location' => 'navigation', 'fallback_cb' => 'custom_menu', 'walker' =>new Custom_Walker_Nav_Menu ) ); ?> 我注意到,如果菜单不是由用户定义的,而是使用后备功能,则walker无效。我需要它在两种情况下都能正常工作。

4
Custom Walker:如何在函数start_lvl中获取ID
我正在制作我的第一个自定义助行器,以构建手风琴菜单。首先,我使用以下示例:http : //bitacre.com/2025/custom-nav-menu-walker-for-wordpress-themes 有两个功能。首先是start_lvl,然后是start_el。 在start_el中,ID获取由$ item-> ID实现。有人知道我也可以在start_lvl中做到这一点吗?我需要给(周围的下层导航)一个ID,以便可以触发它在手风琴菜单中折叠。 我试图生成的是这样的: <a href="#collapse2">Titel 2</a> <ul id="collapse2">Lower Level Menu 2</ul> <a href="#collapse3">Titel 3</a> <ul id="collapse3">Lower Level Menu 3</ul> 我的start_lvl函数代码: // add id's and classes to ul sub-menus function start_lvl( &$output, $depth, $item ) { // depth dependent classes $indent = ( $depth > 0 …

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 

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
将自定义沃克添加到小部件中创建的菜单
我知道如何将Walker添加到由主题创建的自定义菜单(primary在此示例中命名的菜单),但是如何定位使用默认wordpress自定义菜单小部件在小部件中创建的菜单呢? if ( has_nav_menu( 'primary' ) ) { $args = array( 'menu' => 'main-menu', 'menu_id' => 'main-menu', 'theme_location' => 'primary', 'depth' => 0, 'container' => false, 'menu_class' => 'nav', 'walker' => new Myprefix_Walker_Nav_Menu(), 'echo' => 0 ); $nav = wp_nav_menu( $args ); }
10 menus  widgets  walker 

1
使用菜单浏览器,在菜单项的末尾添加自定义项
我需要在列表项的菜单末尾添加搜索字段。 我一直在寻找助步器,但发现要找出最后一个项目(甚至是总数)真的很困难。我还要在哪里添加自定义项目的代码。 我目前有; class mainNav_walker extends Walker_Nav_Menu { public function start_el( &$output, $item, $depth, $args ) { //print_r($item); $output .= $this->custom_content( $item ); parent::start_el( &$output, $item, $depth, $args ); } protected function custom_content( $item ) { // add <li>SEARCH FIELD HERE?</li> } }
10 menus  walker 

2
使用wp_nav_menu的Custom Walker出现错误“试图获取非对象的属性”
我正在尝试向wp_nav_menu函数添加一些与ARIA相关的内容。为此,我使用了一个自定义的walker类: class Walker_Nav_Menu_With_Aria extends Walker_Nav_Menu { function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul class=\"sub-menu\" role=\"group\">\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent</ul>\n"; } function start_el( &$output, $item, …
8 menus  errors  walker 

3
自定义walker_nav_menu中忽略了start_lvl
这是我的第一个涉及WordPress的项目,我一直试图为页脚菜单创建自定义的Walker。 我基本上想将菜单从<ul> <li></li> </ul>结构更改为<p> <span></span> </p>结构。 菜单和东西正在显示文件,我已经能够调整start_el和end_el功能而没有问题,所以现在我得到了: <ul> <span>*link*</span> <span>*link*</span> </ul> 很明显,它已经写到一半了start_lvl(),end_lvl()如下所示,但是它们被WordPress忽略了-我放在它们中的任何内容(即使die())都没有执行(这有点可疑),但是我知道该类正在被调用是因为该start_el()功能。 function start_lvl(&$output, $depth = 0, $args = array()) { $output = "\n<p class=\"sub-menu\">\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $output .= "\n</p>\n"; } 有谁知道为什么会这样-我错过了一些非常明显的事情吗? 5.3.6如果有帮助,我将在Apache上使用PHP运行最新版本的WordPress 。 提前致谢, 费利克斯:)
8 php  functions  menus  html  walker 

2
扩展多个Nav_Menu_Walkers是否允许嵌套菜单?
本质上,我正在尝试添加多个子导航菜单,而且非常接近,但是我似乎无法找到解决问题的正确方法... 我正在使用Stu Nichols CSS菜单的变体... 代码更好地解释了;-) 建立此菜单所需的关系将顶层元素作为列表项,将子容器作为div,将子元素和兄弟姐妹{nth child}当作uls。因此结构如下: <li><a href='#'>parent</a> <div>child-container <ul><!--1st Child --> <li>item</li> ... </ul> <ul><!--Sibling --> <li>item</li> ... </ul> <ul><!--Sibling --> <li>item</li> ... </ul> </div> </li> 我当前的思路是添加一个额外的nav_menu_walker来构建子菜单列表...但是,我不确定是否可以将多个walker作为args传递给wp_nav_menu ... IE ... ASSERT $menu_params = array ( 'theme_location' => 'primary', 'menu' => 'Main Menu', 'container' => 'div', 'container_class' => 'nav', …

1
什么是寻找制作定制助行器的好资源?
自定义步行者似乎是WP的文献记录不多的领域。在线教程专注于样式化输出,而不是指导步行者前往所需的位置。 我正在阅读代码,但是我想知道是否缺少一个很好的资源。如果您了解步行者,那么您是如何以及在哪里学到的?
8 walker 
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.