0

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

现在<a>标签只有一个名为“list-group-item”的类,我希望<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();?>
4

2 回答 2

1

您可以使用get_the_ID()获取您正在访问的当前帖子页面的 ID,active-item如果它与您在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; ?>
于 2015-11-04T12:12:23.927 回答
0

您可以使用

<?php the_title();?> 

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

<?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>
于 2015-11-04T12:14:01.710 回答