是否可以在菜单中添加某种类似“箭头”或跨度的类(在wordpress中)?
看来你可以这样做是使用 javascript,但我想知道是否有 PHP解决方案……
看来你可以这样做是使用 javascript,但我想知道是否有 PHP解决方案……
在WP 3.0中,我看到活动菜单上有“父”或“祖先”类,但这仅适用于活动菜单,我也需要它用于非活动菜单
这个功能真的应该在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...]))
?>
希望对你有用!我只是在表面上测试它,但它似乎工作.如果有任何边缘情况,添加类失败,请告诉我.