如何在 wordpress 子菜单中添加活动 class?

How to add active class in wordpress submenu?

我在页面中有一个 sub-menus 的列表,它将获得每篇文章的标题。 但是我希望在具体文章页面的时候列表样式和其他的不一样。

现在<a>标签只有一个名为“list-group-item”的class,希望在<a> 标记在文章中时。

希望有人能帮我解决这个问题...提前谢谢你。

这是我的代码:

<div class="list-group">
 <?php global $post;
   global $all_post_titles;
   $all_post_titles = array();
   $args = array('post_type' => 'service','orderby' => 'ID','order' => 'ASC',);
   $myposts = get_posts( $args );
     foreach( $myposts as $post ) :  setup_postdata($post);?>
         <a href="<?php the_permalink(); ?>" class="list-group-item"><?php the_title();?> <span class="fa fa-angle-right"></span></a>
     <?php endforeach; ?>
  <?php wp_reset_postdata();?>

您可以使用 get_the_ID() 获取您正在访问的当前 post 页面的 ID,并添加一个额外的 class active-item 如果它匹配 post 您在 foreach 循环中查询的 ID:

 <?php 
 // get the ID of the current post
 $current_id = get_the_ID(); 
 ?>
 <?php foreach( $myposts as $post ) :  setup_postdata($post);?>
     <a href="<?php the_permalink(); ?>" class="list-group-item<?php echo ($post->ID==$current_id?' active-item':''); ?>"><?php the_title();?> <span class="fa fa-angle-right"></span></a>
 <?php endforeach; ?>

您可以使用

<?php the_title();?> 

在当前文章标题的条件下并像这样添加活动 class :

<?php 
     $activeclass="";
     if(the_title()== $post->name)
     { 
         $activeclass="active";
     }
 ?>
 <a href="<?php the_permalink(); ?>" class="list-group-item "><?php the_title();?> <span class="fa fa-angle-right <?php echo $activeclass; ?>"></span></a>