加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP / WordPress – 向父菜单添加箭头

发布时间:2020-12-13 18:19:24 所属栏目:PHP教程 来源:网络整理
导读:是否可以在菜单中添加某种类似“箭头”或跨度的类(在Wordpress中)? 看来你可以这样做是使用 javascript,但我想知道是否有 PHP解决方案…… 在WP 3.0中,我看到活动菜单上有“父”或“祖先”类,但这仅适用于活动菜单,我也需要它用于非活动菜单 这个功能真的应
是否可以在菜单中添加某种类似“箭头”或跨度的类(在Wordpress中)?
看来你可以这样做是使用 javascript,但我想知道是否有 PHP解决方案……

在WP 3.0中,我看到活动菜单上有“父”或“祖先”类,但这仅适用于活动菜单,我也需要它用于非活动菜单

这个功能真的应该在WordPress核心!
无论如何,我看了一下你在另一个答案的评论中发送的菜单模板源,并找到了一个(相当hacky)方法来添加一个带有孩子的菜单项的类.它基本上是默认walker的子类,以扩展其默认行为.如果你把它放在你的主题的functions.php中,这可能是最好的.这是代码:
<?php
class Arrow_Walker_Nav_Menu extends Walker_Nav_Menu {
    function display_element($element,&$children_elements,$max_depth,$depth=0,$args,&$output) {
        $id_field = $this->db_fields['id'];
        if (!empty($children_elements[$element->$id_field])) { 
            $element->classes[] = 'arrow'; //enter any classname you like here!
        }
        Walker_Nav_Menu::display_element($element,$children_elements,$depth,$output);
    }
}
?>

要调用它,当你在主题中调用wp_nav_menu()时,你需要添加walker参数,如下所示:

<?php 
wp_nav_menu(array('walker' => new Arrow_Walker_Nav_Menu,[other arguments...]))
?>

希望对你有用!我只是在表面上测试它,但它似乎工作.如果有任何边缘情况,添加类失败,请告诉我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读