我希望在每个 ul 的最后 li 中添加一个类。例如,如果我有:
<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
</ul>
我想添加一个过滤器来做到这一点:
<ul>
<li></li>
<li class="last">
<ul>
<li></li>
<li class="last"></li>
</ul>
</li>
</ul>
关于如何使用 php 函数实现此目的的任何想法?我已经看到成功针对第一个 ul li 的例子,但不要再深入了!
如有任何帮助,我们将不胜感激。
干杯
最佳答案
将以下代码添加到您的 functions.php
function add_first_and_last($output) {
$output = preg_replace('/class="menu-item/', 'class="first-menu-item menu-item', $output, 1);
$output = substr_replace($output, 'class="last-menu-item menu-item', strripos($output, 'class="menu-item'), strlen('class="menu-item'));
return $output;
}
add_filter('wp_nav_menu', 'add_first_and_last');
这会强制将额外的标记添加到相应元素的类列表中,而不是为一个标签添加多个 ID。
我认为应该有一个更优雅的解决方案。
关于php - 通过 wp_nav_menu_items 添加类到 Wordpress 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10535148/