gpt4 book ai didi

PHP/Wordpress - 向父菜单添加箭头

转载 作者:可可西里 更新时间:2023-11-01 12:44:05 25 4
gpt4 key购买 nike

是否可以在具有子菜单(在 Wordpress 中)的菜单中添加某种类,如“箭头”或跨度?看起来你可以使用 javascript 来做到这一点,但我想知道是否有 PHP 解决方案......

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

最佳答案

这个功能真的应该在 WordPress 核心中!
无论如何,我查看了您在对另一个答案的评论中发送的菜单模板源,并找到了一种(相当笨拙的)方法来在带有子项的菜单项上添加一个类。它基本上是默认 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, $max_depth, $depth, $args, $output);
}
}
?>

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

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

希望对你有用!我只对它进行了表面测试,但它似乎有效。让我知道是否存在添加类失败的任何边缘情况。

关于PHP/Wordpress - 向父菜单添加箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558198/

25 4 0