2

我正在尝试更改 wp_nav_menu 以输出 html,如下例所示。

<div class="menu">
<ul id="menu">

原始输出

<div class="menu">
<ul>

我不能用 jQuery 或 javascript 来做,它必须是 php 代码

4

3 回答 3

5

wp_nav_menu接受menu_id其选项数组中的键。将其设置为您想要的 ID,例如:

wp_nav_menu(array(
    'menu_id' => 'menu'
));
于 2012-12-18T20:39:37.747 回答
2

您可以通过定义在 html 中显式设置 id items_wrap,并确保walker未设置为某些自定义函数:

wp_nav_menu( array(
    'theme_location' => 'main-menu'
    'items_wrap'     => '<ul id="menu" class="%2$s">%3$s</ul>',
    'walker'         => '',
)); 

这是不完整的信息;第一次尝试使用:

'fallback_cb'     => false,

如果您的菜单没有出现,这意味着您还没有创建任何菜单,这意味着它采用后备功能会照顾到这一点。

所以先去创建一个菜单。:D

于 2013-03-26T17:47:00.353 回答
1

给 ul 一个与其容器的类相同的 id 是自找麻烦,但这应该可行:

<?php

function showMenu(){
$args = array(
  'menu_id' => 'menu'
);

wp_nav_menu($args);

}

showMenu();
?>

WordPress Codex 有一个页面详细介绍了 wp_nav_menu() 函数的所有选项:http: //codex.wordpress.org/Function_Reference/wp_nav_menu

于 2012-12-18T20:38:16.067 回答