SOHO建站

为wordpress添加自定义多级菜单的方法

要在WordPress中创建多级菜单,您需要使用递归函数来处理菜单项的嵌套关系。下面是一个示例代码,可以帮助您实现多级菜单的添加和显示:

打开您的WordPress主题文件,通常是header.php或functions.php。
在主题文件中添加以下代码来注册菜单位置:

register_nav_menus(array(
  'primary' => '主菜单',
));


接下来,在主题文件中找到导航菜单的代码部分,通常是使用wp_nav_menu函数的地方。将其替换为以下代码:

wp_nav_menu(array(
  'theme_location' => 'primary',
  'container' => 'nav',
  'container_class' => 'navbar',
  'menu_class' => 'navbar-nav',
  'fallback_cb' => 'WP_Bootstrap_Navwalker::fallback',
  'walker' => new WP_Bootstrap_Navwalker(),
));


然后,在主题文件中添加以下自定义函数来创建多级菜单:

function recursive_menu($items, $depth, $current_page, $parent_id = 0) {
  foreach ($items as $item) {
    if ($item->menu_item_parent == $parent_id) {
      $children = recursive_menu($items, $depth + 1, $current_page, $item->ID);
      if ($children) {
        echo '<ul class="dropdown-menu" role="menu">';
        echo '<li class="dropdown-item" role="presentation">' . $item->title . '</li>';
        echo $children;
        echo '</ul>';
      } else {
        echo '<li class="nav-item' . ($item->object_id == $current_page ? ' active' : '') . '" role="presentation">' . $item->title . '</li>';
      }
    } else {
      echo '<li class="nav-item' . ($item->object_id == $current_page ? ' active' : '') . '" role="presentation">' . $item->title . '</li>';
    }
  }
}


现在,您可以使用上述的递归函数来渲染多级菜单。将以下代码添加到您的主题文件中的适当位置,例如header.php或functions.php:

function wp_bootstrap_navwalker() {
  $args = array(
    'theme_location' => 'primary',
    'walker' => new WP_Bootstrap_Navwalker(),
  );
  return $args;
}

最后,保存文件并刷新您的WordPress网站。您应该能够看到自定义的多级菜单显示在顶部导航栏中。

请注意,上述代码只是一个示例,您可以根据自己的需求进行修改和定制。另外,确保在修改主题文件之前备份您的文件,以防止意外情况发生。

Published
Categorized as 建站知识 Tagged , ,

By SOHO

wowsoho.com是一个wordpress建站公司

用简站wordpress主题快速建站的操作方法

通过以上步骤,你可以快速搭建一个简洁、实用且安全的WordPress网站,并利用简站主题的优势来简化网站建设过程。

WordPress外贸建站服务的最佳实践与管理

  在竞争激烈的国际市场中,拥有一款优秀的WordPress外贸建站是提升业务效益的关键。本文将分享一些最佳实… Continue reading WordPress外贸建站服务的最佳实践与管理

叶子苏网络建站服务工作室

叶子苏工作室是十大wordpress外贸建站服务商之一,也是省内知名的外贸建站与外贸营销服务商,叶子苏slogan是 “好作品会说话,叶子苏是靠作品说话的网络建站服务商”。

零基础学习WP外贸建站课程

  在数字化时代,学会建站技能是一个具有巨大潜力的投资。对于零基础的学习者而言,选择一门WordPress外贸… Continue reading 零基础学习WP外贸建站课程

一段代码就可禁止wordpress自动更新

进行过二次开发的wordpress网站,最好要把自动更新禁止了。不然,自动更新后的wordpress网站可能无法访问。

为什么有些主题不支持elementor?

elementor是wordpress的一个第三方的插件,不是所有的wordpress主题,都必须要支持elementor