如何在不丢失样式的情况下在标题中显示菜单?

时间:2019-11-06 作者:Bhaumik Bhatt

我下载了一个模板,并试图将其转换为wordpress主题。如何在wordpress中添加菜单,而不是应用于它的松散样式?

我的标题中有此代码。php

<div
                class="collapse navbar-collapse main-menu-item justify-content-center"
                id="navbarSupportedContent"
              >
                <ul class="navbar-nav align-items-center">
                  <li class="nav-item">
                    <a class="nav-link" href="index.php">Home</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="about-us.php">About</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="services.html">services</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="blog.html">Blog</a>
                  </li>
                  <li class="nav-item dropdown">
                    <a
                      class="nav-link dropdown-toggle"
                      href="blog.html"
                      id="navbarDropdown"
                      role="button"
                      data-toggle="dropdown"
                      aria-haspopup="true"
                      aria-expanded="false"
                    >
                      Pages
                    </a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                      <a class="dropdown-item" href="project.html">project</a>
                      <a class="dropdown-item" href="single-blog.html"
                        >Single blog</a
                      >
                      <a class="dropdown-item" href="elements.html">Elements</a>
                    </div>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="contact.html">Contact</a>
                  </li>
                </ul>
              </div>
我尝试注册菜单,但这样做我失去了所有的风格和菜单只是以简单的文本格式出现。还有一种效果,使标题导航栏粘滞,并在滚动时更改颜色。

我试着用这个注册菜单

//add menu support
add_theme_support(\'menus\');

//register menu support
register_nav_menus(

    array(
        \'top-menu\' => __(\'Top Menu\',\'theme\'),
    )

)
如何解决此问题?

1 个回复
SO网友:user3135691

为了将普通html模板转换为有效的WordPress主题,您需要做的不仅仅是“几个步骤”。

回答您的问题:

选项1)

Custom Menu Walker

除了转换模板的其余部分外,您还需要编写自定义菜单遍历器类,以满足给定模板的标记。这是PHP类,它将在前端呈现菜单。

选项2)

Edit the styles (css) of the template

另一种方法是使用菜单输出的默认标记,只编辑您购买的模板的CSS。与方案1相比,这并不复杂。

请参见:

WP Nav walker Core docs

Tutorial Walker Class

我现在已经在WordPress工作了六年多,即使在那之后,我仍然不知道它的所有功能和可能性。

所以,我的底线是:你应该做好心理准备,这将是一次漫长的旅行,学习WP。首先学习WordPress模板。

好消息是:互联网上到处都有关于每个可以思考的话题的教程。

首先查看核心页面theme development

相关推荐

用标准的干净文件替换NAV-menus.php文件?

我是一个自学成才的wordpress网站设计师,请原谅我的无知。我为一个客户开发的几个网站最近被一个印尼黑客组织破坏了(很有趣!)。客户端没有更新wordpress安装和其他一些危及安全的事情。遗憾的是,没有网站的清理备份。网络主机给了我一个包含恶意软件扫描结果的文本文件。看起来很多受影响的文件都是导航菜单。网站的php文件。文本文件中显示的扫描结果示例如下:“[主目录]/[网站文件夹名称]/wp includes/nav-menu.php:SL-php-INJECTOR-1-ejw.UNOFFICIAL