IS_Tax()条件标记不起作用

时间:2020-02-21 作者:The Chewy

我有一个菜单项,其中添加了一个CSS类和一个“page\\u active”类(该类在相关项下直观地显示下划线)。如果is_page(\'Latest\')is_archive(\'sites) 条件返回true。

我的一个主菜单项(menu-item-3)是一个自定义的分类法,因此我使用is_tax(\'web\') 对于名为“web”的自定义分类法。这并没有添加“page\\u active”类,而且CSS类仍在添加到其他两个项目之一。

下面是代码-如果您有任何关于如何解决此问题的想法,我们将不胜感激。

CSS

.underline.page_active:after {
    content: \'\';
    position: absolute;
    width: 100%;
    height: 5px;
    background: #a882ff;
    left: 0;
    bottom: -0.39em;
    z-index: -1;
}

.menu-item-2.underline.page_active:after {
    width: 3.1rem;
    left: 5.7rem;
    z-index: -1;
    bottom: 2rem;
}   
HTML/PHP

<ul class="nav-menu-items">
    <li class="menu-item menu-item-1"><a class="td nav-link underline <?php if (is_page(\'Latest\')) {echo "page_active";};?>" title="Latest" href="<?php echo esc_url(home_url( \'/\' ));?>">Latest</a></li>
    <li class="menu-item menu-item-2 underline <?php if (is_archive(\'sites\') || is_tax(\'graphic-design\')){echo "page_active";}; ?>">Design
        <ul class="submenu design-submenu">
            <li class="submenu-item submenu-item-1"><a title="Sites We Like" class="td nav-link" href="<?php echo esc_url(home_url(\'/sites\'));?>">Sites We Like</a></li>
            <li class="submenu-item submenu-item-2"><a title="Graphic Design" class="td nav-link" href="<?php echo esc_url(home_url(\'/news_categories/graphic-design\'));?>">Graphic Design</a></li>
        </ul>
    </li>
    <li class="menu-item menu-item-3"><a title="Web" class="td nav-link underline <?php if (is_tax(\'web\')){echo "page_active";};?>" href="<?php echo esc_url(home_url(\'/news_categories/web\'));?>">Web</a></li>
    <li class="menu-item menu-item-4"><a title="Marketing" class="td nav-link underline" href="<?php echo esc_url(home_url(\'/news_categories/marketing\'));?>">Marketing</a></li>
</ul>

1 个回复
最合适的回答,由SO网友:The Chewy 整理而成

我找到了解决办法is_tax(); 方法需要两个参数—分类法和术语本身,因此应该是:

is_tax(\'news_categories\', \'web\')

作为额外的一点is_archive(\'sites\') 也应该是is_post_type_archive(\'sites\')

相关推荐

Odd spacing in Navigation Bar

我正在重新设计my website, 我很难找到是什么导致导航项目之间的间距(我假设是边距)。我一直在钻研chrome开发工具,但我在任何地方都找不到导致它的原因。请注意,当您在项目之间悬停时,项目之间会有一个明显的白色条带。