RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 889983
Accepted
E_K
E_K
Asked:2020-10-07 06:00:32 +0000 UTC2020-10-07 06:00:32 +0000 UTC 2020-10-07 06:00:32 +0000 UTC

如何在页面上显示子菜单?

  • 772

网站上只有一个菜单。(其中一段的例子)

Судостроение (страница)
     Танкеры (рубрика)
     Сухогруз (рубрика)

如何在另一个地方的“造船”页面上显示其子菜单?

wordpress
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    KAGG Design
    2020-10-07T18:09:29Z2020-10-07T18:09:29Z

    我们需要再次显示菜单,使用我们的过滤器只截断current-menu-item它下面的那些项目。将此代码添加到您的页面模板。

    add_filter( 'wp_nav_menu_objects', 'wp_nav_menu_objects_filter', 10, 2 );
    
    $args = array(
        'menu' => 'Main',
    );
    
    wp_nav_menu( $args );
    
    /**
     * Filters the sorted list of menu item objects before generating the menu's HTML.
     *
     * @param array $sorted_menu_items The menu items, sorted by each menu item's menu order.
     * @param stdClass $args An object containing wp_nav_menu() arguments.
     *
     * @return array
     */
    
    function wp_nav_menu_objects_filter( $sorted_menu_items, $args ) {
        if ( 'Main' !== $args->menu ) {
            return $sorted_menu_items;
        }
    
        $items        = array();
        $current_item = null;
    
        foreach ( $sorted_menu_items as $item ) {
            if ( $current_item && intval( $item->menu_item_parent ) === $current_item ) {
                $items[] = $item;
                continue;
            }
    
            if ( in_array( 'current-menu-item', $item->classes, true ) ) {
                $current_item = $item->ID;
                // $items[]      = $item;
                continue;
            }
        }
    
        return $items;
    }
    

    你可以在我的测试站点的主页上看到这段代码的结果:http: //test.kagg.eu/

    • 2
  2. Иванцов Дмитрий
    2020-07-24T15:05:42Z2020-07-24T15:05:42Z

    感谢这段代码,但它没有帮助我,因为 我在菜单中有几个项目,每个项目都有自己的子菜单(一般来说,有几个嵌套级别)和只有标准类(每个人都一样,不是唯一的)。我对其进行了一点修改,最终得到了显示某个菜单项的所有子项(任何嵌套)的东西。按身份证。如果有人需要,请...

    例如,如果所需的菜单项 ID 为 37

    //Добавим фильтр который оставит только подпункты определенного меню с ID=37
    add_filter('wp_nav_menu_objects', 'wp_nav_menu_objects_filter', 10, 2);
    
    //Вывод отфильтрованного меню
    $args = array(
        'menu' => 'Top Menu',
    );
    wp_nav_menu($args);
    
    /**
     * Filters the sorted list of menu item objects before generating the menu's HTML.
     *
     * @param array $sorted_menu_items The menu items, sorted by each menu item's menu order.
     * @param stdClass $args An object containing wp_nav_menu() arguments.
     *
     * @return array
     */
    
    // фильтр который оставит только подпункты определенного меню с ID=37
    function wp_nav_menu_objects_filter($sorted_menu_items, $args)
    {
        if ('Top Menu' !== $args->menu) {
            return $sorted_menu_items;
        }
    
        $items        = array();
        $parents       = array();
        $parents[]     = 37; //ID пункта нашего меню чьё подменю надо вывести.
    
        foreach ($sorted_menu_items as $item) {
            if (in_array(intval($item->menu_item_parent), $parents, true)) {
                $items[] = $item;
                $parents[] = $item->ID;
                continue;
            }
        }
    
        return $items;
    }
    
    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5