首页 > 解决方案 > 菜单不为一项添加子类别,但适用于其他 Wordpress

问题描述

我有一个裸体的 wordpress 主题。菜单导航栏有 6 个项目/这 6 个链接文本,4 个有子类别,显示下拉菜单。

菜单导航栏

但是,当我向其中一个还没有下拉/子类别的项目添加子类别时,它不会显示在我的网站上。

我已经保存并清除了缓存。

当我检查 html 代码时,我注意到成功和不成功之间的区别。见下文:

下拉菜单中带有子类别的成功菜单项:

<li id="menu-item-7726" class="who has-links menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-7726">
    <a href="/who-we-are/leadership-team/" data-unsp-sanitized="clean">Who We Are</a>
    <ul class="sub-menu">
        <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30">
            <a href="https://www.website.com/who-we-are/leadership-team/" data-unsp-sanitized="clean">Leadership Team</a>
        </li>
        <li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36">
            <a href="https://www.website.com/who-we-are/ireland/" data-unsp-sanitized="clean">Ireland</a>
        </li>
        <li id="menu-item-37" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37">
            <a href="https://www.websitee.com/who-we-are/uk/" data-unsp-sanitized="clean">UK</a>
        </li>
    </ul>
</li>

未显示子类别的不成功菜单项:

<li id="menu-item-23" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent current-menu-ancestor current-menu-parent current_page_ancestor menu-item-has-children menu-item-23">
    <a href="https://www.website.com/news-hub/" data-unsp-sanitized="clean">News Hub</a>
    <ul class="sub-menu">
        <li id="menu-item-11549" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-11549">
            <a href="/teampage/" aria-current="page" data-unsp-sanitized="clean">Get Social</a>
        </li>
    </ul>
</li>

当我在检查器中编辑 html 并将不成功的项目更改为此它可以工作:

<li id="menu-item-23" class="pj has-links menu-item menu-item-type-post_type menu-item-object-page menu-item-object-page menu-item-has-children menu-item-23">
    <a href="https://www.website.com/news-hub/" aria-current="page" data-unsp-sanitized="clean">News Hub</a>
    <ul class="sub-menu">
        <li id="menu-item-11481" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11481">
            <a href="https://www.website.com/teampage/" data-unsp-sanitized="clean">Get Social</a>
        </li>
    </ul>
</li>



<li id="menu-item-23" class="pj has-links menu-item menu-item-type-post_type menu-item-object-page menu-item-object-page menu-item-has-children menu-item-23">
    <a href="https://www.website.com/news-hub/" aria-current="page" data-unsp-sanitized="clean">News Hub</a>
    <ul class="sub-menu">
        <li id="menu-item-11481" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11481">
            <a href="https://www.website.com/teampage/" data-unsp-sanitized="clean">Get Social</a>
        </li>
    </ul>
</li>

在检查器中编辑 HTML

我的问题是如何/在哪里使此编辑永久化?TIA

编辑 CSS 添加:

ul#menu-main li:hover:after {
width:100%;
}
ul#menu-main li.who:after {
left:-50px
}
ul#menu-main li.se:after {
left:-37px;
}
ul#menu-main li.se:hover:after {
width: 186%;   
}
ul#menu-main li.who:hover:after {
width: 160%;
}
#menu-main .pj.has-links .sub-menu {
left:60px;
}
ul#menu-main li a {
color:#fff;
display: inline-block;
}
.single ul#menu-main li a {
font-weight:500;
font-family: 'AvenirLTStd-Medium', sans-serif;
}
ul#menu-main li a:hover {
color:#ffee00;
}
ul#menu-main li.has-links {
position: relative;
}
ul#menu-main li.has-links a:after {
content: '';
background: url(img/chevron-down.svg) no-repeat center center;
width: 16px;
height: 16px;
background-size: 16px 16px;
display: inline-block;
position: relative;
top:2px;
margin-left:10px;
}
ul#menu-main li.has-links:hover a:after {
content: '';
background: url(img/chevron-active.svg) no-repeat center center;
width: 16px;
height: 16px;
background-size: 16px 16px;
display: inline-block;
position: relative;
top:2px;
margin-left:10px;    
}
ul#menu-main li.has-links:hover .sub-menu {
-webkit-transform: scale(1) translateX(-50%);
transform: scale(1) translateX(-50%);
visibility: visible;  
}

标签: wordpressdrop-down-menu

解决方案


您的问题是,当您在现有父项下添加一个新 项时,该子项下还没有任何子,该类不会添加到该特定项。 menu-item menu-item menu-itemhas-links menu-item

这很奇怪,因为他们必须php function是生成此类并将其添加到每个在其下放置一个孩子menu-item后成为父母 的人! 如果他们不是这样,另一位家长是如何获得这门课的?! menu-item menu-item
php function menu-item

此外,您有一个php function,可能是同一个,它在上课之前生成一个has-links课程。这是who为了我们是谁 menu-itemse为了服务 menu-itempj为了项目 menu-item但是当它成为父母时,它不会为NEWS HUB 生成一个类! 如果他们不是这样,另一个父母是如何根据他们的名字/标签获得这些课程的?! menu-item
php function menu-item

你说 :

我有一个裸体的 wordpress 主题

这是您正在开发的主题还是您正在使用的主题?
假设这是您正在使用的主题,您能告诉我们它是哪一个吗?

最后,为了让您的菜单正常工作,因为我没有您的php代码,我将使用CSSWordPress 为任何 menu-item级添加的本机类。
在您提供的上述CSS内容中,将 every 替换has-linksmenu-item-has-children。它应该工作!
请记住为您的更改使用子主题,否则它们将在您使用的主题的下一次更新时被删除。


推荐阅读