【问题标题】:Wordpress navigation menu items not shown correctlyWordpress 导航菜单项未正确显示
【发布时间】:2020-09-03 07:58:50
【问题描述】:

我正在尝试将导航菜单移至 wordpress,但遇到了一个问题,它的样式显示全部错误。在我将代码移动到 worpdress 后,标签会自动移动到代码的末尾,并将相同的样式应用于所有导航栏元素。也许有人在这里有解决方案或看到我的代码有什么问题?

这是我的菜单栏 HTML 代码:

<div class="nav-links">
    <?php 
        $menu_settings = [
            'menu_class' => 'dropdown',
            'container' => false,
            'theme_location' => 'primary-navigation',

        ];
        wp_nav_menu($menu_settings);
        ?>

    <ul class="dropdown">
        <li>Apie festivalį</li>
            <ul> 
                <li><a href="#">Naujienos</a></li>
                <li><a href="#">Apie festivalį</a></li>
                <li><a href="#">Programa</a></li>
                <li><a href="#">Partneriai</a></li>
                <li><a href="#">Organizatoriai</a></li>                           
            </ul>  
    </ul>

    <ul class="dropdown">
        <li>72 val. iššūkis</li>
            <ul>   
                <li><a href="#">Apie iššūkį</a></li>
                <li><a href="#">Taisyklės</a></li>
                <li><a href="#">Komandos registracija</a></li>
                <li><a href="#">Mentoriai ir komisija</a></li>
                <li><a href="#">Apdovanojimai</a></li>                           
            </ul> 
    </ul>
</div>

在我将其移至 Wordpress 后,这是相同的代码:

<div class="nav-links">
    <ul id="menu-main-menu" class="dropdown">
        <li id="menu-item-78" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-78"><a href="http://localhost/wp_odiseja/sample-page/">Apie festivali</a>
            <ul class="sub-menu">
                <li id="menu-item-464" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-464"><a href="http://localhost/wp_odiseja/about-festivals/">Apie festivalį</a></li>
                <li id="menu-item-481" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-481"><a href="http://localhost/wp_odiseja/category/one-news/">Naujienos</a></li>
                <li id="menu-item-657" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-657"><a href="http://localhost/wp_odiseja/programa/">Programa</a></li>
                <li id="menu-item-465" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-465"><a href="http://localhost/wp_odiseja/partners-page/">Partneriai</a></li>
                <li id="menu-item-466" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-466"><a href="http://localhost/wp_odiseja/organizers-page/">Organizatoriai</a></li>
            </ul>
        </li>
        <li id="menu-item-84" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-84"><a href="http://localhost/wp_odiseja/sample-page/">72 val. iššūkis</a>
            <ul class="sub-menu">
                <li id="menu-item-467" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-467"><a href="http://localhost/wp_odiseja/about-challenge-page/">Apie iššūkį</a></li>
                <li id="menu-item-538" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-538"><a href="http://localhost/wp_odiseja/rules-page/">Taisyklės</a></li>
                <li id="menu-item-539" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-539"><a href="http://localhost/wp_odiseja/mentors-page/">Mentoriai ir komisija</a></li>
                <li id="menu-item-704" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-704"><a target="_blank" rel="noopener noreferrer" href="#">Komandos registracija</a></li>
                <li id="menu-item-540" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-540"><a href="#">Apdovanojimai</a></li>
            </ul>
        </li>
    </ul>
</div>

这也是我用于导航菜单的 CSS 代码:

// =========================
.nav-links{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 60%;
}
.dropdown{
width: 100%;
flex-direction: row;
justify-content: space-between;
display: flex;
}
.dropdown li {
  display: flex;
  border: 0;
  font-size: 16px;  
  font-family: 'Bebas Neue', Bold;
  text-transform: uppercase;
  color:rgb(245, 240, 175);
  width: 100%;
  // img{
  //   width: 20px;
  //   height: 20px;
  //   padding-right: 0.42%;
  // }
  }
.dropdown ul{
  border: none;
  display: none;
  position: absolute;
  background: rgba(25, 105, 95, 0.8);
  font-family: 'Bebas Neue', Bold;
  text-transform: uppercase;
  font-size: 17px;
  padding: 1.56% 1.82%;
}
.dropdown ul a {
  list-style: none;
  border-bottom: none;
  float: none;
  color: rgb(245, 240, 175);
  padding: 1.56% 1.82%;
  text-decoration: none;
  display: block;
  text-align: left;
}
//Menu hover--------------------------------------------------------------
 .nav-links:hover ul:hover li {
        border: none;
        border-bottom: 2px solid rgb(245, 240, 175);
      }
      .dropdown ul a:hover {
        border-bottom: none;
        background-color: rgb(25, 105, 95);
      }
      .dropdown:hover ul {
        display: block;
        width: 200px;
        border-bottom: none;
      }
     .nav-links:hover ul:hover  ul li{
        border-bottom: none;
      }

这是我的 PHP,用于在 wordpress 上获取 HTMl 和 CSS:

<div class="nav-links">
        <?php 
                $menu_settings = [
                    'menu_class' => 'dropdown',
                    'container' => false,
                    'theme_location' => 'primary-navigation',
                    // 'walker' => new custom_navwalker()
                ];
               wp_nav_menu($menu_settings);
            ?>
        </div>

非常感谢您的任何意见!

【问题讨论】:

    标签: html css wordpress menu


    【解决方案1】:

    Wordpress 主题通常已经为导航菜单设置样式,您还需要移动菜单的 CSS 样式代码并将其添加到主题的自定义 CSS 中以覆盖其外观。你有你的 CSS 代码吗?

    【讨论】:

    • 您好,感谢您的回复。但这就是问题所在,我已经将菜单的 CSS 样式代码移到了主题的自定义 CSS 中,但它不适用。我的猜测是,它连接到 标记,该标记会自动移动到代码的末尾。如果它与我的 HTML 代码保持在同一个位置,它应该可以工作。我不明白,为什么它会自动移动到不同的位置。我将我的 CSS 代码添加到最初的问题中。
    • 请注意,// 不会注释掉 CSS 中的代码/您需要使用 /**/
    • 这是您希望导航的样子吗? jsfiddle.net/xjkgevf6
    • 好的,我花了一些时间看了一下。您的新 HTML 与旧 HTML 的格式不同。我也更新了你的 CSS 以适应它。您需要更新菜单栏的 CSS 和 HTML 才能使其正常工作。这里:jsfiddle.net/xjkgevf6/1
    • 您好,感谢您花时间和精力帮助我。我无法将我的 html 代码直接移动到 wordpress,我使用 PHP。在我通过 PHP 将我的初始代码(编号 1)移动到 worpdress 后,它会像那样更改(编号 2)。而且我不能直接编辑它并手动移动 标记。我将我的 PHP 添加到初始帖子中,也许它有问题?在我最初的 CSS 和 HTML 中,本地一切都很好,但是在我使用 PHP 将它们移动到 wordpress 后问题就开始了。
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 2014-02-02
    相关资源
    最近更新 更多