我正在尝试修改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采用内联样式的位置?
非常感谢。
答案 0 :(得分:0)
WordPress本身不会生成任何内联样式,因此很可能这笔交易是在您的插件或主题中安装的。根据您的代码,您不使用自定义walker,因此唯一的交易可能是附加到标准Walker_Nav_Menu
的过滤器(请参阅nav-menu-template.php
文件,开头)。相应的过滤器很可能是:nav_menu_css_class
,nav_menu_item_id
,walker_nav_menu_start_el
。