Как вывести slug из product_cat в виде текста в цикле? Wordpress

Необходимо вывести информацию из slug (ярлык) из product_cat (Товары->Категории, Wordpress) в виде текста, чтобы кириллические вкладки на странице сайта работали корректно. Всю голову сломал, но не соображу как сделать. Выводить надо в это место: href="# после элемента #. Текущий код тащит название категории.

<div class="row">

        <div class="col-12">
            <ul class="nav tab-navigation justify-content-center">
                <?php
                $i = 1;
                if (is_array($product_cat)) {
                    
                foreach ( $product_cat as $value ) {
                    if($i <= 20) {
                
                            // $category[] = $value->slug;
                            if( $i == 1 ){ ?>
                                <li class="nav-item">
                                    <a class="nav-link active" href="#<?php echo $value;?>" data-toggle="pill"><?php echo $value;?></a>
                                </li>
                            <?php }else{ ?>
                                <li class="nav-item">
                                    <a class="nav-link" href="#<?php echo $value;?>" data-toggle="pill" ><?php echo $value;?></a>
                                </li>
                            <?php }
                        }
                        $i++;
                    }
                    # code...
                }
                ?>
            </ul>
        </div><!--/.col-12-->

        <div class="col-12">
            <div class="tab-content" id="pills-tabContent">
            
                <?php 
                $i=1;
                if (is_array($product_cat)) {
                foreach ($product_cat as $value) {
                    if( $i == 1){ ?>
                    <div class="tab-pane fade show active" id="<?php echo $value;?>">
                    <?php }else{?>
                    <div class="tab-pane fade" id="<?php echo $value;?>">
                    <?php } $i++; ?>  

                        <?php 

Ответы (1 шт):

Автор решения: Darth KYL

вы можете получить категорию по ее имени через функциию get_term_by()

в качестве примера в вашем случае это может выглядеть вот так

foreach ( $product_cat as $value ) {
    $term = get_term_by( 'name', $value, 'product_cat' );
    $slug = is_a( $term, 'WP_Term' ) ? $term->slug : '';
    
    if($i <= 20) {
              
        // $category[] = $value->slug;
        if( $i == 1 ){ ?>
             <li class="nav-item">
                 <a class="nav-link active" href="#<?php echo $slug;?>" data-toggle="pill">
                      <?php echo $value;?>
                 </a>
             </li>
        <?php }else{ ?>
             <li class="nav-item">
                  <a class="nav-link" href="#<?php echo $slug;?>" data-toggle="pill" >
                      <?php echo $value;?>
                  </a>
              </li>
        <?php }
    }
    $i++;
}
→ Ссылка