将 Bootstrap 导航栏转换为 WordPress 菜单

2024-01-09

我知道网上有很多关于此的主题,但我发现它们非常复杂。基本上我想将 Bootstrap 导航菜单转换为 WordPress 菜单。

假设我有默认的 Bootstrap 导航栏:

<nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li class="divider"></li>
            <li><a href="#">Separated link</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

我通常将此导航栏与我的 WordPress 页面链接的方式是,而不是手动列出每个<li>我会使用以下内容:

    <ul class="nav navbar-nav">
     <?php wp_list_pages('title_li=');?>
     </ul>

其输出将列出我在 WordPress 中创建的所有页面:

 <ul class="nav navbar-nav">
    <li class="page_item page-item-9"><a href="...">About</a></li>
    <li class="page_item page-item-2"><a href="...">Sample Page</a></li>
  </ul>

这一切都很好,因为我可以添加一个页面,它会按预期包含在我的菜单中。

问题

问题是我不知道如何在菜单栏中包含下拉项并将其集成到 WordPress 中,例如下拉项:

<li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
     <ul class="dropdown-menu" role="menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li class="divider"></li>
            <li><a href="#">One more separated link</a></li>
     </ul>
  </li>

我如何将其与 WordPress 集成,以便下次如果我想添加新的下拉列表,我可以像普通菜单项一样轻松地做到这一点?

如果您不提供 WordPress Codex 网站和其他教程的链接,我将不胜感激,因为我已经尝试了很多事情


你需要使用这个https://github.com/twittem/wp-bootstrap-navwalker https://github.com/twittem/wp-bootstrap-navwalker,添加 nav walker 文件并按照说明进行操作。这是我制作的随机站点的示例,我不会将其调整到您自己的站点,因为您需要为将来的所有 WP 开发学习这一点。这非常简单,请查看:

    <div id="nav">
    <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="<?php bloginfo('url'); ?>"><img class="logo" src="<?php bloginfo('template_directory'); ?>/images/logo.png" alt="" /></a>
        </div>


        <?php
        wp_nav_menu( array(
                'menu'              => 'primary',
                'depth'             => 2,
                'container'         => 'div',
                'container_class'   => 'navbar-collapse collapse',
                'menu_class'        => 'nav navbar-nav',
                'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
                'walker'            => new wp_bootstrap_navwalker())
            );
        ?>
      </div><!-- /.container-fluid -->
    </nav>
</div><!-- #nav -->

正如您可能已经注意到的,基本上您必须替换代码后面的内容

 <!-- Collect the nav links, forms, and other content for toggling -->

with

<?php
    wp_nav_menu( array(
            'menu'              => 'primary',
            'depth'             => 2,
            'container'         => 'div',
            'container_class'   => 'navbar-collapse collapse',
            'menu_class'        => 'nav navbar-nav',
            'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
            'walker'            => new wp_bootstrap_navwalker())
        );
    ?>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Bootstrap 导航栏转换为 WordPress 菜单 的相关文章

  • CSS悬停边框而不调整图像大小

    我想问一下 在不调整图像大小的情况下 我的悬停边框下方功能做错了什么 我已按照给出的指南进行操作here https css tricks com image rollover borders that do not change layo
  • 仅使用 CSS 创建三列表? (无表格元素)

    我正在为 Django 项目创建模板 并且我需要在 HTML 中创建一个三列表 仅使用 CSS 而不是使用 table 元素 除了意识形态上对表格的反对之外 原因还在于该报告需要在台式机和黑莓等手持设备上查看 在手持设备上 我们的目标不是试
  • 为什么音频自动播放在 Google Chrome 中不起作用?

    我正在尝试在页面刚刚打开时自动播放音频文件 我的浏览器是谷歌浏览器更新到最新版本 这是代码
  • 选择 MYSQL 行,但将行转换为列,将列转换为行

    我想选择数据库中的所有行 但我希望它们按相反的顺序排列 意思是 我想使用第一列数据作为新实体 并将实体作为第一列 我想你明白我的意思 这是一个例子 id name marks 1 Ram 45 2 Shyam 87 to id 1 2 Na
  • 在 PHP 页面中嵌入 svn 修订号的简单方法?

    注意到这个页面的右下角有 SVN 修订 ID 了吗 我假设这是动态的 我很乐意将其添加到我的一些网站中 就像源代码中的注释一样 以确保代码推送顺利进行 注意 您还可以假设相关站点的工作目录是相关存储库的 svn checkout Edit
  • 删除 CSS Transitionend 事件侦听器不起作用

    我在尝试删除 css Transitionend 事件侦听器时遇到问题 我可以添加监听器 e addEventListener transitionend function event transitionComplete event pr
  • 原始 POST 数据是什么?

    我试图理解原始 POST 数据的含义 PHP 手册页 HTTP RAW POST DATA http php net manual en reserved variables httprawpostdata php只是声明这个变量包含Raw
  • 不用AJAX,前台同步拖放文件上传?

    我有一个定期的网站
  • 设置基于 PHP 定时器的函数

    我有一个 php 文件test php 我想要echo or print5 秒后 即在浏览器调用 加载或打开 php 文件后不久 成功 顺便说一句 有时我可能想在特定的时间间隔后执行 初始化某些函数 如何使用 php 执行面向时间的任务 例
  • Codeigniter:用户会话不断过期

    我正在使用 CodeIgniter 但在会话方面遇到了一个小问题 我已将 config php 中的 sess expiration 设置为 0 以便用户会话永远不会过期 但用户 甚至我自己 仍然偶尔会被踢出并要求再次登录 顺便说一句 我将
  • 使用 Angular 2 Forms 根据需要动态标记字段的正确方法是什么?

    使用 Angular 2 2 0 0 推荐的方法是什么动态地根据需要标记字段 使用角形式 https angular io docs ts latest guide forms html 在他们的所有示例中 只需添加必需的属性 如下所示
  • 删除删除线的 unicode 文本?

    我偶尔会收到用户的输入 他们正在使用那些烦人的 stikethrough 文本生成器 这破坏了我的代码 我尝试过在这里找到的一些代码 string preg replace x00 x1F x80 xFF string 它有效 但我需要它只
  • 将参数传递给 Angular2 组件

    我正在学习 Angular2 所以要温柔 我有一个带有字符串数组的基本组件 我想将一个整数传递给该组件并让它返回在该参数的索引处找到的字符串 例如 myComponent number 1 返回字符串 第二个元素 到目前为止我的代码是这样的
  • Scrapy在页面上找不到表单

    我正在尝试编写一个自动登录的蜘蛛这个网站 https www athletic net account login ReturnUrl 2Fdefault aspx 但是 当我尝试使用scrapy FormRequest from resp
  • ajax - 检查用户名是否存在+如果存在则返回消息

    我试图检查用户想要的用户名是否已被使用 而无需发送表单 基本上是用户名字段的模糊 我遇到了一些麻烦 有几个问题 我有我的输入字段加上js
  • PHP cURL 代理带标头?

    我正在制作一个 PHP 图像代理脚本 我需要它不仅能够回显其请求的图像的内容 而且还能够以相同的方式重现图像请求的标头 我见过一个 另一个 但没有同时看到过 这些 cURL 选项让我感到困惑 我该怎么做 抱歉 我不确定你想要什么 这是从图像
  • 将 IP 地址与 IPv6 块进行比较

    我使用 PHP 将用户 IP 地址与 IP 块列表进行比较 其中大多数是 IPv4 但其中一些是 IPv6 我从用户那里获得的 IP 地址始终与 IPv4 兼容 至少我是这么假设的 我将如何比较这个 这就是我现在正在使用的 function
  • 在 Div 的两个顶角创建一个三角形,用边框划分

    通过遵循以下问题和答案 我能够在 div 的右上角获得一个三角形 Div 中的右上角三角形 https stackoverflow com questions 18531959 how to create triangle shape in
  • 是否可以通过样式表进行跨域攻击?

    我需要为我的 Web 应用程序的用户创建的网页实现灵活的样式系统 理想情况下 我希望允许他们使用 CSS 正在链接到用户定义的 url 处的样式表Bad Idea Why 可以安全地做到这一点吗 您对此有何看法 我试图避免构建样式 编辑器
  • 散列 hash_hmac 时,Convert.ToChar(0) 散列结果与 PHP 中的 chr(0) 不同的字符串

    我在 PHP 中有一个字符串 它被转换为字节数组并进行哈希处理 转换为字节数组的字符串如下所示 G 字符 0 便便 我需要 C 中的等效字节数组 这样我才能得到相同的哈希值 编辑 这是完整的问题 生成的哈希值不同 PHP api secre

随机推荐

  • 在 CSS 中创建多层 SVG 波浪

    我正在尝试在网站上创建波浪效果像这样 https dribbble com shots 5115653 Augmented reality web concept work attachments其中有一个主要颜色的波浪 深紫色 然后沿着边
  • 在不改变比例的情况下调整 Chrome 响应模式窗口的大小

    我以前可以打开开发人员工具 单击右下角的小图标打开响应模式 然后拖动窗口宽度手柄来更改设备宽度 这对于了解网站在不同设备上的表现非常有用 然而现在它只是改变了页面的比例 而不是宽度 这是垃圾 如何更改宽度并保持固定比例 EDIT 哦 可能不
  • Django haystack LocationField 创建为字符串而不是 elasticsearch 中的 geo_point

    我正在使用 django 1 8 9 django rest framework django haystack 和 Elasticsearch 并尝试让 LocationField 工作 索引已创建 但类型始终为string代替geo p
  • 只获取当前节点的文本

    在 Cheerio 中 如何仅获取当前节点的文本 var cheerio require cheerio const htmlString div hello span world span div cheerio load htmlStr
  • 检测 Outlook/回收状态并运行 Outlook 的多个实例

    有没有办法使用代码来检测 Outlook 是否会自动获取现有 Outlook 实例而不是启动新的 Outlook 实例 最好是 VBA 代码 理想情况下 还可以通过编程方式打开 关闭此行为 这里的目标是针对一组 Outlook 帐户中的数据
  • 调用 XSLT 模板并将所有输出保存到变量

    我想调用模板并将输出保存到变量中 我想保存ALL包括 HTML 标记的输出 但事实并非如此 例如 采用这个简单的 XSLT
  • 如何使 data.frame 中的组长度相等?

    我有这个数据框 df lt data frame id c A A B B B C amount c 45 66 99 34 71 22 id amount A 45 A 66 B 99 B 34 B 71 C 22 我需要扩展它以便每个b
  • 消息框挂起

    我试图在按下 winforms 应用程序上的按钮时显示消息框 但 MessageBox 挂起并且从不返回值 private void btnApply Click object sender EventArgs e bool current
  • 使用 UIAutomation 禁用 iOS 模拟器的硬件键盘

    我正在使用 UIAutomation 在 iOS 模拟器中进行一些自动化测试 在 Xcode 6 中 iOS 模拟器的键盘行为改变 https stackoverflow com a 26004815 700471为了与真实设备类似 现在有
  • 如何编写多个条件if else语句mips

    我会像编写将 C 转换为 mips 汇编的逻辑 OR 语句一样编写逻辑 AND 语句吗 else if i x j y printf c 219 这就是我放的 bne reg1 t3 draw219 i x bne reg2 t4 draw
  • 确定 Java 中的二进制/文本文件类型?

    也就是说 您如何区分存档 jar rar 等 文件和文本 xml txt 与编码无关 文件 没有保证的方法 但这里有几种可能性 查找文件上的标头 不幸的是 标头是特定于文件的 因此虽然您可能能够发现它是 RAR 文件 但您不会得到更通用的答
  • 在没有 swarm 的情况下限制 Docker compose 中的可用主机资源

    我只是想在 docker compose 文件中限制某些 Docker 容器的资源 原因很简单 主机上运行着多个应用程序 服务 所以我想避免单个容器可以使用例如所有内存 这会损害其他容器 从我了解到的文档中 这可以通过使用来完成resour
  • 用于电子邮件和页面其他部分链接的 HTML 标签

    我正在写一个HTML页面 我的要求如下 HTML 页面包含一些电子邮件 ID 当单击这些电子邮件 ID 时 它应该打开 Outlook 的新页面 页面有某些部分 当单击该部分时 它应该到达受尊重的段落 部分 例如 单击链接转到 部分 提前致
  • 在 Eclipse 项目中查找方法调用

    我有一个包含方法 myMethod 的类 X 我想在当前工作区的所有项目中找到调用 myMethod 的位置 我无法使用任何搜索函数 因为有多个类带有 myMethod 而且它不是静态的 因此 我需要知道此类的对象的名称 如果不手动探索项目
  • Jquery AJAX:如何更改“成功”按钮的值?

    我在一页上有多个按钮 单击后 我跟踪按钮 ID 将按钮值发送到后端 php 代码 该代码通过更改数据库返回更新的值 我能够取回我需要的一切 除了 成功设置按钮值 这是我正在使用的代码 document ready function inpu
  • 表单提交后验证重置

    我有带有复选框的表单 我希望用户至少选择其中之一 一切正常 但重置表单后我无法隐藏验证消息 这种情况在docs https logaretm github io vee validate guide forms html programma
  • 多个应用程序可以访问 SQLite 数据库吗?

    我遇到了一些数据库锁 SQLite BUSY 麻烦 我担心 SQLite 不适合我 基本上 我的设置是一个 cronjob 它定期调用一些不引人注目的 Java 功能和 项目中的新功能 通过一个名为 Jetty Jackson Hibern
  • Boost.Python 模块中未定义的符号

    我正在尝试使用 Boost Python 为模板库的某个实例构建一个小型 Python 扩展 该库广泛使用 CGAL 库 它与 CMake 集成得相当好 因此我将其用于我的项目 这是我的模块的代码 python export cpp inc
  • R partykit::ctree 边缘上的偏移标签

    我正在与ctree我的数据集有一个创建节点的协变量 该协变量有足够的因子 并且它们的名称足够长 以至于它们在节点创建的边中相互重叠 我想找到一种方法来阻止这种重叠 我检查了其他问题 发现一个answer https stackoverflo
  • 将 Bootstrap 导航栏转换为 WordPress 菜单

    我知道网上有很多关于此的主题 但我发现它们非常复杂 基本上我想将 Bootstrap 导航菜单转换为 WordPress 菜单 假设我有默认的 Bootstrap 导航栏