wp_nav_menu更改子菜单内联样式?

时间:2011-09-25 17:15:23

标签: wordpress customization submenu

我正在尝试修改Wordpress网站的子菜单。 Wordpress为子菜单生成以下HTML代码

<ul class="sub-menu" style="top: 50px; visibility: visible; left: 0px; width: 202px; display: none;">
    <li class="menuitem123 menu-item menu-item-type-post_type menu-item-object-page menu-item-123" id="menu-item-123"><a href="http://www.example.com" class="">Link Name</a></li>
        <!-- other li elements follow -->
</ul> 

这是我对wp_nav_menu

的调用
<?php if(has_nav_menu('secondary')):?>
    <?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'menu_container' => 'div', 'container_id' => 'secondary-menu','menu_class' => '',  'theme_location' => 'secondary'));?>
<?php endif;?>

问题是,我想自定义Wordpress为ul元素生成的内联样式(或最好将其移出到css文件中),主要是宽度。我已经搜索了高低,但找不到Wordpress在哪里拾取内联样式并插入它。我需要摆脱内联样式,因为我需要为其他子菜单设置不同的宽度。

我可以调整此wp_nav_menu change sub-menu class name?链接上给出的答案,该链接建议对Wordpress Walker类进行子类化。

有人可以提供一些指示,说明我应该检查哪些内容,以及Wordpress采用内联样式的位置?

非常感谢。

1 个答案:

答案 0 :(得分:0)

WordPress本身不会生成任何内联样式,因此很可能这笔交易是在您的插件或主题中安装的。根据您的代码,您不使用自定义walker,因此唯一的交易可能是附加到标准Walker_Nav_Menu的过滤器(请参阅nav-menu-template.php文件,开头)。相应的过滤器很可能是:nav_menu_css_classnav_menu_item_idwalker_nav_menu_start_el

相关问题