要自定义导航菜单 Walker 类以显示菜单描述,你可以使用 WordPress 的 Walker 类来自定义菜单输出。以下是一个示例,展示如何创建一个自定义 Walker 类,以在菜单项旁边显示描述:

自定义导航菜单walker类显示菜单描述

class Description_Walker extends Walker_Nav_Menu {
    function start_el( &$output, $item, $depth = 0, $args = null, $id = 0 ) {
        // 基本的菜单项输出
        parent::start_el( $output, $item, $depth, $args );

        // 如果菜单项有描述,添加描述
        if ( ! empty( $item>description ) ) {
            $output .= '<span class="menudescription">' . esc_html( $item>description ) . '</span>';
        }
    }
}

然后,你可以将这个 Walker 类与 WordPress 的 wp_nav_menu() 函数一起使用,以显示你的菜单并包括描述。在调用 wp_nav_menu() 时,将 walker 参数设置为你的自定义 Walker 类的名称,如下所示:

wp_nav_menu( array(
    'theme_location' => 'your_menu_location', // 替换为你的菜单位置
    'walker' => new Description_Walker(), // 使用自定义 Walker 类
) );

确保将 'your_menu_location' 替换为你要显示的菜单位置的名称。

这将导致你的菜单在每个菜单项旁边显示描述。如果某个菜单项没有描述,它将不会显示任何额外的内容。自定义 Walker 类允许你更灵活地控制菜单的输出,以满足你的需求。