wordpress get_category_by_slug if true add add class

时间:2017-04-20 12:29:50

标签: php wordpress

下午好,这就是问题所在: 我有一个帮助菜单,这个菜单有4个类别,每个类别都有很多子类别,我想要做的是,当我在一个子类别的页面上时,我给了一个类

  • 在左侧菜单上,有一个活动类,因此我所在的子类别的类别会打开。 这里的整个代码:https://pastebin.com/Q09eE9nB

    $categories = get_categories( array(
    'orderby' => 'name',
    'order'   => 'ASC',
    'parent' => 52,
    'hide_empty' => 0
    

    ));

                <?php if( $categories ): ?>
            <ul class="main-categ">
                <?php foreach ( $categories as $kCat => $vCat ): ?>
                    <li class="main-item <?php echo get_category_by_slug( $categories ) == $subCategories ? 'active' : ''; ?>"><?php
                                    $subCategories = get_categories( array(
                                        'orderby' => 'name',
                                        'order'   => 'ASC',
                                        'parent' => $vCat->cat_ID,
                                        'hide_empty' => 0
                                    ));?>
    
                    <a class="main-link" href="#<?php echo $vCat->slug; ?>" data-cat="<?php echo $vCat->slug; ?>"><?php echo $vCat->name; ?></a>
                    <?php if( $subCategories ): ?>
                    <ul class="subcateg">
                        <?php foreach ( $subCategories as $kSub => $vSub ): ?>
                        <li><a href="<?php echo esc_url( get_category_link( $vSub->cat_ID ) ); ?>"><i class="fa fa-angle-double-right"></i> <?php echo $vSub->name; ?></a></li>
                        <?php endforeach; ?>
                    </ul>
                    <?php endif; ?>
                </li>
                <?php endforeach; ?>
            </ul>
    
  • 2 个答案:

    答案 0 :(得分:1)

    解决方案:

    $thisCat = get_category( get_query_var( 'cat' ) );
    
    
                <ul class="main-categ">
                <?php foreach ( $categories as $kCat => $vCat ): ?>
                    <li class="main-item <?php echo $thisCat->category_parent == $vCat->cat_ID ? 'active' : ''; ?>"><?php
                                    $subCategories = get_categories( array(
                                        'orderby' => 'name',
                                        'order'   => 'ASC',
                                        'parent' => $vCat->cat_ID,
                                        'hide_empty' => 0
                                    ));?>
    
                    <a class="main-link" href="#<?php echo $vCat->slug; ?>" data-cat="<?php echo $vCat->slug; ?>"><?php echo $vCat->name; ?></a>
                    <?php if( $subCategories ): ?>
                    <ul class="subcateg">
                        <?php foreach ( $subCategories as $kSub => $vSub ): ?>
                        <li class="<?php echo get_query_var( 'cat' ) == $vSub->cat_ID ? 'activ':'';?>"><a href="<?php echo esc_url( get_category_link( $vSub->cat_ID ) ); ?>"><i class="fa fa-angle-double-right"></i> <?php echo $vSub->name; ?></a></li>
                        <?php endforeach; ?>
                    </ul>
                    <?php endif; ?>
                </li>
                <?php endforeach; ?>
            </ul>
    

    答案 1 :(得分:0)

    您可以添加以下代码以添加活动类

    <?php 
    $getcategory = get_category( get_query_var( 'youtcategory_name' ) ); ?>
    
    <ul class="main-categ">
    <?php foreach ( $categories as $kCat => $vCat ): ?>
        <li class="main-item <?php echo $getcategory->category_parent == $vCat->cat_ID ? 'active' : ''; ?>"><?php
                        $subCategories = get_categories( array(
                            'orderby' => 'name',
                            'order'   => 'ASC',
                            'parent' => $vCat->cat_ID,
                            'hide_empty' => 0
                        ));?>
    
        <a class="main-link" href="#<?php echo $vCat->slug; ?>" data-cat="<?php echo $vCat->slug; ?>"><?php echo $vCat->name; ?></a>
        <?php if( $subCategories ): ?>
        <ul class="subcateg">
            <?php foreach ( $subCategories as $kSub => $vSub ): ?>
            <li class="<?php echo get_query_var( 'youtcategory_name' ) == $vSub->cat_ID ? 'activ':'';?>"><a href="<?php echo esc_url( get_category_link( $vSub->cat_ID ) ); ?>"><i class="fa fa-angle-double-right"></i> <?php echo $vSub->name; ?></a></li>
            <?php endforeach; ?>
        </ul>
        <?php endif; ?>
    </li>
    <?php endforeach; ?>
    </ul>