我在该站点上搜索,找到了有关该问题的许多答案。他们中的大多数人都不适合我的主题。
这是我找到的一个解决方案,它可以根据需要工作。
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
这段代码将ul
在的开始和结尾处删除wp_nav_menu()
。所以我的主题是
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
但是当我没有通过管理员添加或激活任何菜单时,问题又来了。 http://domain.com/wp-admin/nav-menus.php
题 :
如何删除<div><ul>**</ul></div>
菜单是否处于活动状态。让我知道
终于我明白了:) functions.php
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary',
'fallback_cb'=> 'default_page_menu'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
function default_page_menu() {
wp_list_pages('title_li=');
}
header.php
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
我要用超级鱼。
—
哈哈
menu_class
并且menu_id
只有在菜单被激活的情况下才有效。如果菜单不存在menu_class
,menu_id
并且不是as <ul>
而是as <div>
。那就是为什么关于wp_nav_menu()
您的太多问题可能会对其进行测试:)
menu_class
和menu_id
参数在UL上设置类和/或id属性。