这个功能真的应该在wordpress核心!
无论如何,我看了一下你在另一个答案的评论中发送的菜单模板源,并找到了一个(相当hacky)方法来添加一个带有孩子的菜单项的类.它基本上是默认walker的子类,以扩展其默认行为.如果你把它放在你的主题的functions.PHP中,这可能是最好的.这是代码:
无论如何,我看了一下你在另一个答案的评论中发送的菜单模板源,并找到了一个(相当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...])) ?>
希望对你有用!我只是在表面上测试它,但它似乎工作.如果有任何边缘情况,添加类失败,请告诉我.