gpt4 book ai didi

wordpress - 将类添加到 wp_nav_menu 中的 li 元素

转载 作者:行者123 更新时间:2023-12-02 23:51:28 25 4
gpt4 key购买 nike

我在 WordPress 中遇到 wp_nav_menu 问题。我想制作 Li 元素的结构,其中所有元素都有“menu-li”类。但这对我不起作用。我在 function.php 文件中有这个:

register_nav_menus(
array(
'primary-menu' => __( 'Primary Menu' ),
'secondary-menu' => __( 'Secondary Menu' )
));

然后我在 WordPress 管理面板中创建了菜单,现在我想将菜单添加到我的主题中。

                    <?php

$defaults = array(
'theme_location' => 'primary-menu',
'menu' => '',
'container' => '',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu-li',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul>%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
?>

它将所有 elemnet 显示为 ul 中的 li,但没有类“menu-li”。如何将其添加到所有 li 元素中?

最佳答案

menu_class wp_nav_menu() 的参数控制添加到 <ul> 的类包装元素,而不是单个 <li>的。要将类添加到菜单项,您需要使用 nav_menu_css_class filter .

它的工作原理如下(将其添加到主题的 functions.php 文件中):

add_filter ( 'nav_menu_css_class', 'so_37823371_menu_item_class', 10, 4 );

function so_37823371_menu_item_class ( $classes, $item, $args, $depth ){
$classes[] = 'menu-li';
return $classes;
}

这将添加 menu-li每个菜单项的类。

您还可以根据 $item 有条件地执行此操作, $args如果你愿意的话,等等传递给这个过滤器。

关于wordpress - 将类添加到 wp_nav_menu 中的 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37823371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com