WordPress自定义分类在单页上的操作

Published
2023-07-13
浏览次数 :  49

WordPress如何在自定义文章类型单页上展示所有自定义分类并检测是否和当前单页分类一致

首先我们在单页上获取所有的自定义分类:

 $terms = get_terms(array(
            'taxonomy'  => 'branch',
            'hide_empty'  => false

          ));

然后循环出来:

foreach ($terms as $term) { echo ‘这里是你要展示的导航’}  

这样可以展现出所有自定义分类。 但是如果要检测是否当前单页包含的自定义分类与循环出的分类相同,然后给循环出的分类的Li 加上当前样式,比方说加上current, on 这种, 来突出显示。

我们首先获取当前单页包含的所有自定义分类:

$current_term = get_the_terms( get_the_ID(), 'branch');

我们把它打印出来,看到它是个数组。那我们就可以通过in_array来验证: 如果当前循环出来的自定义分类的object在$current_term 这个数组里面,就可以打印出相关的class:

//完整代码
$terms = get_terms(array(
            'taxonomy'  => 'branch',
            'hide_empty'  => false

          ));
          $current_term = get_the_terms( get_the_ID(), 'branch');

          foreach ($terms as $term) {   
            if (in_array($term, $current_term)) { ?>
              <li><a href="<?php echo get_term_link($term); ?>" target="_self" class="hover"><?php echo $term->name ?></a></li>

              <?php 
              
            } else { ?>
              <li><a href="<?php echo get_term_link($term); ?>" target="_self"><?php echo $term->name ?></a></li>
              <?php 

            }
           ?>

            <?php 
            
          }
          

标签:
Top