在Wordpress中创建子菜单
我有以下代码在Wordpress中创建子菜单,wordpress,menu,Wordpress,Menu,我有以下代码 <!-- 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 = arra
<!-- 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菜单创建了此代码
这在Wordpress和移动菜单上运行良好,但我的问题是链接folio-1是公文包的子页面,但我认为由于strip_标签的功能,它的ul标签会被剥离,如果我将它们设置为不剥离,则会添加额外的标签,从而阻止菜单工作
是否有任何方法可以让它工作,或者是否有其他代码可以满足我的需要
谢谢
PS尝试添加输出代码,但失败。最后,我不得不在没有打开的情况下将其作为文本添加。<请随意更正。您想在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
你也可以在这里得到更多的细节
<?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;
}
?>