如何在 WordPress 中创建响应式导航菜单

已发表: 2021-07-22

在 WordPress 中创建响应式导航菜单的道路是开放式的。 由于 WordPress 提供的灵活性,有无数种方法可以做到这一点。

今天,我将向您展示如何创建一个简洁而平均的响应式导航菜单。 精益是因为我们将在 8 KB 内实现所有这些,并且意味着它将是一个非常高效的导航菜单。 我们只是要镜像您当前的导航菜单,这样您就不必维护两个不同的导航菜单。 通过用一块石头杀死两只鸟,我们将创建一个菜单来统治它们。

wp中的响应式导航

在开始之前,我们建议您具备一些基本的前端开发知识。 (我们只要求熟悉而不是熟练,所以请不要惊慌。)基本的 HTML、CSS、jQuery 和 WordPress 知识将是理想的。 这是一个初学者到中级教程,因为它涉及到 WordPress 主题文件的修改。

您还需要访问以下 WordPress 主题文件:

  • functions.php
  • header.php
  • footer.php
  • Style.css

在进行任何修改之前,请务必先备份您的站点,或先在本地环境中测试更改。 您总是希望有办法恢复到原始文件。

我们免费的本地开发应用程序 Local 将帮助您简化工作流程并安全地试验您的网站。 今天就试试吧!
桌上的笔记本电脑,灯上显示一家名为“Sharp Minds”的公司的网站主页,上面写着“Creative Minds Powerful Words”

我们将使用 bigSlide.js,一个用于创建屏幕外滑动面板的小型 jQuery 插件。 在该插件的网站上,它被描述为“一个用于创建屏幕外滑动面板导航的极小(约 1kb 压缩)jQuery 插件”。 这符合我们精益求精的响应式导航目标。

让我们开始工作吧。

1.下载bigSlide.js最新压缩版。 将文件复制到主题的/js文件夹中。

2. 在您喜欢的代码编辑器中打开functions.php 。 搜索wp_enqueue_script 。 您可能会看到多个实例,因为wp_enqueue_script是向 WordPress 添加脚本的标准方式。

3. 在wp_enqueue_script的最后一个实例之后,添加以下代码段并保存。

 wp_enqueue_script( 'my-responive-menu', get_template_directory_uri() . '/js/bigSlide.min.js', array(), '20161214', true );

4. 打开header.php ,将类push添加到 body 标签后面的第一个 div 中。 此部分通常如下所示:

 <body <?php body_class(); ?>><div class="hfeed site">.

所以添加后你应该最终得到:

 <div class="hfeed site push">.

5. 在header.php中搜索site-navigation 。 这将是一个类或一个 id,具体取决于您的主题。 在大多数 WordPress 主题中,它应该看起来像这样:

 <nav class="site-navigation primary-navigation" role="navigation"> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu', 'menu_id' => 'primary-menu' ) ); ?> </nav>

6. 在</nav>之前添加以下代码段。 你应该最终得到这个:

 &amp;amp;amp;amp;amp;amp;amp;lt;nav class="site-navigation primary-navigation" role="navigation"&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;?php wp_nav_menu( array( 'theme_location' =&amp;amp;amp;amp;amp;amp;amp;gt; 'primary', 'menu_class' =&amp;amp;amp;amp;amp;amp;amp;gt; 'nav-menu', 'menu_id' =&amp;amp;amp;amp;amp;amp;amp;gt; 'primary-menu' ) ); ?&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;a href="#responsive-menu" class="menu-link"&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;#9776;&amp;amp;amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;/nav&amp;amp;amp;amp;amp;amp;amp;gt;

在这里,我们正在创建一个用于触发移动菜单的汉堡包图标。

“Sharp Words”网站截图,右侧有汉堡菜单

7. 打开footer.php并搜索<?php wp_footer(); ?> <?php wp_footer(); ?> . 在这一行之后,添加以下代码段:

 &amp;amp;amp;amp;amp;amp;amp;lt;div class="panel mobile-menu"&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;?php wp_nav_menu( array('theme_location' =&amp;amp;amp;amp;amp;amp;amp;gt; 'primary',) );?&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;/div&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;script&amp;amp;amp;amp;amp;amp;amp;gt; jQuery('.menu-link').bigSlide({ menu: '.mobile-menu', speed: 300, side:"right", easyClose:true});&amp;amp;amp;amp;amp;amp;amp;lt;/script&amp;amp;amp;amp;amp;amp;amp;gt;

基本上,我们在页脚上创建了一个隐藏的重复导航菜单。

8. 最后,打开style.css ,在最后一行之后,添加以下代码片段:

 .panel{ position: fixed; right: -15.625em; width: 15.625em; background:#222;} .push{position:relative;} .menu-link{display:none;color:#fff;background:#333;border-radius:4px;padding:2px 12px;float:right;} .mobile-menu a{display:block;color:#fff;padding:10px 15px;} .mobile-menu a:hover{background-color:#555;} .mobile-menu li{border-bottom:1px #444 solid;} @media only screen and (max-width:900px) { #primary-menu{display:none;} .mobile-menu #primary-menu{display:block;} .menu-link{display:inline-block;} }

我在这里使用了深色方案,但可以随意更改颜色以满足您的需要。

这种方法几乎适用于所有标准的 WordPress 主题。 但是,由于不同的用例和标题布局,您可能需要进行一些调整。

最终,基本面保持不变。 理由是在 900 像素或更低的屏幕尺寸上,您将隐藏默认的主导航并显示汉堡图标。

单击或点击汉堡图标时,我们在页脚上复制的菜单会打开为类似侧面板的应用程序。

响应式导航菜单移动幻灯片

如果你碰巧被卡住了,请在下面发表评论。 我将非常乐意提供帮助。 快乐编码!