WordPress:将空列表项添加到导航菜单

Posted

技术标签:

【中文标题】WordPress:将空列表项添加到导航菜单【英文标题】:WordPress: Add empty list-item to navigation menu 【发布时间】:2013-09-10 14:31:27 【问题描述】:
<ul id="menu-primary">
    <li></li>
    <li></li>
    <li></li><li class="stretcher"></li> /* add adjacent to the last menu item */
</ul>

我需要将&lt;li class="stretcher"&gt;&lt;/li&gt; 与显示的最后一个菜单项完全相同,添加到带有id="menu-primary" 的菜单中。

(原因是为了去掉部分浏览器产生的空格。类似于本题第一个答案:Fluid width with equally spaced DIVs)

【问题讨论】:

【参考方案1】:

我会用过滤器添加它:

add_filter('wp_nav_menu_items', 'add_stretcher', 10, 2);
function add_stretcher($items, $args) 
  if ($args->theme_location == 'primary') 
    $items .= '<li class="stretcher"></li>';
  
  return $items;

【讨论】:

它不工作。没有看到任何添加到菜单中。这不是注册到主题的主菜单,如果有区别,我只是将菜单名称命名为“primary”。 暂时尝试去掉“if”,只使用$items .= '&lt;li class="stretcher"&gt;&lt;/li&gt;'; return $items;作为函数体。我只是添加了这个,所以担架 li 不会添加到每个菜单中。 现在我看到了,但它与标记中的最后一个菜单项(如上所示)不相邻。 有趣——也许尝试$items = rtrim($items) . '&lt;li class="stretcher"&gt;&lt;/li&gt;'; 而不是$items .= '&lt;li class="stretcher"&gt;&lt;/li&gt;'; 以消除现有项目上的任何空格/换行符等? 现在剩下的就是针对这个特定的菜单,但我可以没有它。【参考方案2】:

您可以使用 jQuery 使用以下代码添加它

<script>
   jQuery(document).ready(function()
      jQuery("#menu-primary li").last().before("<li class="stretcher"></li>");                             
   );
</script>

【讨论】:

以上是关于WordPress:将空列表项添加到导航菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 wordpress 仪表板的导航菜单中添加项目?

php Wordpress菜单/导航----将.active类添加到活动菜单项---- Bootstrap Nav Walker

如何为WordPress的网站建立多级菜单

如何分别为wordpress导航的每个列表项背景设置样式

wordpress 中突出显示的多个菜单项

有没有办法在导航列表项上添加“悬停下拉菜单”?