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

前端之家收集整理的这篇文章主要介绍了PHP / WordPress – 向父菜单添加箭头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在菜单添加某种类似“箭头”或跨度的类(在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...]))
?>

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

猜你在找的PHP相关文章