- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要有关 Wordpress 网站导航的帮助。我试图让 Wordpress 以这种格式打印我的导航:
<ul data-menu="main" class="menu__level">
<li class="menu__item"><a class="menu__link" data-submenu="submenu-1" href="#">Vegetables</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-2" href="#">Fruits</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-3" href="#">Grains</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-4" href="#">Mylk & Drinks</a></li>
</ul>
<!-- Submenu 1 / Shown when user clicks the first list item (item with data-submenu="submenu-1") on data-menu="main" -->
<ul data-menu="submenu-1" class="menu__level">
<li class="menu__item"><a class="menu__link" href="#">Stalk Vegetables</a></li>
<li class="menu__item"><a class="menu__link" href="#">Roots & Seeds</a></li>
<li class="menu__item"><a class="menu__link" href="#">Cabbages</a></li>
<li class="menu__item"><a class="menu__link" href="#">Salad Greens</a></li>
<li class="menu__item"><a class="menu__link" href="#">Mushrooms</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-1-1" href="#">Sale %</a></li>
</ul>
<!-- Submenu 2 / Shown when user clicks the second list item (item with data-submenu="submenu-2") on data-menu="main" -->
<ul data-menu="submenu-2" class="menu__level">
<li class="menu__item"><a class="menu__link" href="#">Citrus Fruits</a></li>
<li class="menu__item"><a class="menu__link" href="#">Berries</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-2-1" href="#">Special Selection</a></li>
<li class="menu__item"><a class="menu__link" href="#">Tropical Fruits</a></li>
<li class="menu__item"><a class="menu__link" href="#">Melons</a></li>
</ul>
<!-- Submenu 3 / Shown when user clicks the third list item (item with data-submenu="submenu-3") on data-menu="main" -->
<ul data-menu="submenu-3" class="menu__level">
<li class="menu__item"><a class="menu__link" href="#">Buckwheat</a></li>
<li class="menu__item"><a class="menu__link" href="#">Millet</a></li>
<li class="menu__item"><a class="menu__link" href="#">Quinoa</a></li>
<li class="menu__item"><a class="menu__link" href="#">Wild Rice</a></li>
<li class="menu__item"><a class="menu__link" href="#">Durum Wheat</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-3-1" href="#">Promo Packs</a></li>
</ul>
<!-- Submenu 4 / Shown when user clicks the forth list item (item with data-submenu="submenu-4") on data-menu="main" -->
<ul data-menu="submenu-4" class="menu__level">
<li class="menu__item"><a class="menu__link" href="#">Grain Mylks</a></li>
<li class="menu__item"><a class="menu__link" href="#">Seed Mylks</a></li>
<li class="menu__item"><a class="menu__link" href="#">Nut Mylks</a></li>
<li class="menu__item"><a class="menu__link" href="#">Nutri Drinks</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-4-1" href="#">Selection</a></li>
</ul>
但我不知道如何将子项指定为特定的父项,然后使用数据子菜单打印它们。
导航结构取自这里: http://tympanus.net/Blueprints/MultiLevelMenu/
谢谢!
更新:我突然想到:使用 php 获取导航数据然后使用 Javascript 以正确的格式填充它会更容易或更清晰吗?有谁知道这是否是处理此问题的更好方法?
或者使用 rest-api 怎么样(我对此很陌生,所以将它用作小型网站项目的一部分有什么意义)
最佳答案
实际上,您可以将所有菜单数据(从特定位置)抓取到数组中并以您喜欢的任何方式输出。
例如,你有这样的菜单结构:
Menu_parent1_item
Submenu_item_1
Submenu_item_2
Submenu_item_3
Menu_parent2_item
Submenu2_item_1
Submenu2_item_2
Submenu2_item_3
Menu_parent3_item
Submenu3_item_1
Submenu3_item_2
Submenu3_item_3
将这段代码放在 function.php 中:
function custom_menu_output( $theme_location ) {
if ( ($theme_location) && ($locations = get_nav_menu_locations()) && isset($locations[$theme_location]) ) {
$menu = get_term( $locations[$theme_location], 'nav_menu' );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menus = array();
foreach( $menu_items as $menu_item ) {
$pid = $menu_item->menu_item_parent ? $menu_item->menu_item_parent : 0;
$menus[$pid][] = array(
'link' => $menu_item->url,
'title' => $menu_item->title,
'id' => $menu_item->ID,
);
}
foreach($menus as $key => $menu) {
if($key == 0)
echo '<ul data-menu="main" class="menu__level">';
else
echo '<ul data-menu="submenu-'.$key.'" class="menu__level">';
foreach($menu as $item) {
if(isset($menus[$item['id']]))
echo '<li class="menu__item"><a class="menu__link" data-submenu="submenu-'.$item['id'].'" href="'.$item['link'].'">'.$item['title'].'</a></li>';
else
echo '<li class="menu__item"><a class="menu__link" href="'.$item['link'].'">'.$item['title'].'</a></li>';
}
echo '</ul>';
}
} else {
$menu_list = '<!-- no menu defined in location "'.$theme_location.'" -->';
}
echo $menu_list;
}
然后在你的模板中像这样使用它:
<?php custom_menu_output('menu_location_name_from_register_nav_menu'); ?>
它将生成这样的 HTML(我根据您的问题描述生成了它):
<ul data-menu="main" class="menu__level">
<li class="menu__item"><a class="menu__link" data-submenu="submenu-717" href="http://yourdomain.tld/your_link/">Menu_parent1_item</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-720" href="http://yourdomain.tld/your_link/">Menu_parent2_item</a></li>
<li class="menu__item"><a class="menu__link" data-submenu="submenu-725" href="http://yourdomain.tld/your_link/">Menu_parent3_item</a></li>
</ul>
<ul data-menu="submenu-717" class="menu__level">
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu_item_1</a></li>
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu_item_2</a></li>
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu_item_3</a></li>
</ul>
<ul data-menu="submenu-720" class="menu__level">
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu2_item_1</a></li>
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu2_item_2</a></li>
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu2_item_3</a></li>
</ul>
<ul data-menu="submenu-725" class="menu__level">
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu2_item_1</a></li>
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu2_item_2</a></li>
<li class="menu__item"><a class="menu__link" href="http://yourdomain.tld/your_link/">Submenu2_item_3</a></li>
</ul>
您可以根据需要进一步自定义此代码。
关于javascript - Wordpress Nav Walker - 多级导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35022819/
这是我的第一篇文章,所以要温柔。 ;) 问题:我希望能够将 os.walk 用作目录 walker,但不能进入某些文件夹。例如: 树: \Proj1_0 \Load001 \l
我希望在 wordpress 菜单中显示分层父帖子的子帖子数量。所以,我将把父帖子添加到菜单中。显然,我将不得不使用定制的 Walker,但我不确定从哪里开始。 即: Menu Item (8) Me
我在找这个算法 (算法会从元素列表中随机选择每个元素被选中的概率(权重)不同) 并且只找到了 python 和 c 实现,在我做了一个 C# 之后,有点不同(但我认为更简单)我想我应该分享它,我还需要
我正在尝试按退格键来换行选择。现在按键部分已经可以工作,但现在我正在尝试将选择范围包裹在一个范围内。当选择范围内存在 block 元素时也是如此。但我注意到在 CKEDITOR 4 中,walker
Solaris 中是否有 Dependency Walker 之类的工具。 我的目标是验证这些:- 从 Java native (c++) 函数调用发生了吗? 从 Java 传递的所有参数都在 nat
我有一个使用 wp_nav_menu 输出的简单菜单.我想输出以下类型之一: Home Movies ▼ In
提前为菜鸟的错误道歉。这是我的第一个问题。首先,一些背景: 我正在尝试使用 dependency walker 为程序创建一个模块,以在我没有 lib 或任何源代码的 .dll 中查找 C++ 函数。
它可以列出导出函数中使用的函数。 它是如何做到这一点的? 最佳答案 关键是每个 Windows 模块(可执行文件和库)都包含一个导入表,其中列出了它所依赖的所有其他模块。该表由链接器构建,操作系统在内
我正在尝试在我的项目中包含一个外部库(.lib 指向一个 .dll)。我正在使用 QT 在 Windows 上构建(它似乎使用 msvc2010 作为编译器)并且有:LIBS += /.lib在我的
我需要一个文件系统 walker,我可以指示它忽略遍历我想保持不变的目录,包括所有子目录在那个分支下面。os.walk 和 os.path.walk 就是不这样做。 最佳答案 实际上,os.walk
Illegal offset type in isset or empty 是什么意思,我以前从来没有遇到过这个错误信息?你能给我解释一下这条消息吗? 也把学习如何做的代码放在这里评论 'pri
给定一个 AST,生成 Walker 的原因是什么?遍历树并执行输出的类,而不是给每个 Node a类compile()方法并让它负责自己的输出? 这里有一些例子: Doctrine 2 (一个 OR
Illegal offset type in isset or empty 是什么意思,我以前从来没有遇到过这个错误信息?你能给我解释一下这条消息吗? 也把学习如何做的代码放在这里评论 'pri
我有一个 fortran dll,我想知道它依赖于 redistribution purpose 的程序集. 我发现的一件事是,dependency walker 没有显示所有的依赖项,即我的程序集依
好的,我有一个 Walker 类(class)。我试图仅向具有子菜单的菜单项添加下拉箭头。 箭头图标: 问题目前我得到了每个菜单项的箭头,因为我不确定如何更改它,所以它只显示带有子菜单的菜单项。 c
我无法理解 node.js walker 的签名/ header 作品。我知道,步行者可以遍历文件夹,您可以设置过滤器等。但我不太明白 .on 的签名是如何工作的。 举个例子: Walker('/et
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我在我的应用程序中使用其中一个 Dll 时遇到了一些问题,我在其上运行了 dependency walker。我不确定如何阅读它,但我得到了以下结果 它是否暗示任何 x86-x64 不兼容?无论如何我
我指的是 http://www.wintoolzone.com/articles/AuthoringStackWalkerForX86.pdf 上的文章 我正在使用 VC++ 2008。我意识到当我将
我需要有关 Wordpress 网站导航的帮助。我试图让 Wordpress 以这种格式打印我的导航: Vegetables Fruits Grain
我是一名优秀的程序员,十分优秀!