我有以下代码;
<!-- Primary navigation -->
<nav class="sixteen columns primary">
<ul id="nav"><!-- This ID (nav) is used to identify which menu is used for the mobile menu -->
<?php
$args = array(
'menu' => 'main-menu',
'echo' => false
);
echo strip_tags(wp_nav_menu( $args ), '<a><li>');
?>
</ul>
</nav>
为我的WordPress菜单创建此代码
nav class="sixteen columns primary">
ul id="nav"><!-- This ID (nav) is used to identify which menu is used for the mobile menu -->
li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-8 current_page_item menu-item-14"><a href="http://www.testsite123-abc.com/">Home</a></li>
li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13"><a href="http://www.testsite123-abc.com/about-me/">About Me</a></li>
li id="menu-item-17" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-17"><a href="http://www.testsite123-abc.com/portfolio/">Portfolio</a>
li id="menu-item-76" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76"><a href="http://www.testsite123-abc.com/portfolio/folio-1/">folio-1</a></li>
/li>
li id="menu-item-20" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20"><a href="http://www.testsite123-abc.com/contact-me/">Contact Me</a></li>
/ul>
/nav>
---
这适用于Wordpress和jsSelectNav移动菜单,但我的问题是链接folio-1是Portfolio的子页面,但我认为由于strip_tags函数,它的ul标签被剥离如果我将它们设置为不被删除,则会添加无关的内容,这会阻止菜单运行。
我有什么方法可以让它工作,或者是否有其他代码能够满足我的需要。
由于
PS尝试并且未能添加输出代码到最后我必须将其添加为文本而不打开&lt;请随时纠正。
答案 0 :(得分:0)
你想在wordpress中创建自定义子菜单,因为你需要变量中的自定义菜单项。
首先使用 wp_get_nav_menu_items()函数获取单个变量中的所有菜单项。
之后使用以下功能,您可以获得html菜单。
<?php
function generatePageTree($datas, $parent = 0, $depth=0)
{
if($depth>1000) return ''; // Make sure not to have an endless recursion
if($depth==1)
$tree = '<ul class="sub_menu">';
else
$tree = '<ul>';
for($i=0, $ni=count($datas); $i < $ni; $i++){
if($datas[$i]->menu_item_parent == $parent){
$tree .= '<li>';
$tree .= '<a href="'.$datas[$i]->url.'">'.$datas[$i]->title.'</a>';
$tree .= generatePageTree($datas, $datas[$i]->ID, $depth+1);
$tree .= '</li>';
}
}
$tree .= '</ul>';
return $tree;
}
?>
使用上面的代码,您可以获得自定义菜单的HTML。
你也可以在这里获得更多细节。
http://www.beingdevelopers.com/create-custom-sub-menu-wordpress/