1

我有以下代码生成分类术语中的术语列表,然后在每个术语下生成 POSTS。

我想在当前项目中添加一个 current-page-item 类,这样当您在分类术语下的页面上时,导航中的相关项目会被样式化。这是我的代码:

<?php $terms = get_terms('benefit-cats');
        echo "<ul>";
        foreach ($terms as $term) {
            $wpq = array ('taxonomy'=>'benefit-cats','term'=>$term->slug,'order'=>'asc','orderby'=>'title');
            $query = new WP_Query ($wpq);
            echo "<li class=".$term->slug."><span class=\"list-item\"><span class=\"text-arrow\">&#9658;</span> ".$term->name."</span>"; //<a href=\"".get_term_link($term->slug, 'benefit-cats')."\"></a>//
            echo "<ul class=\"children\">";
            ?>

            <?php
if ($query->have_posts() ) : while ($query->have_posts() ) : $query->the_post(); ?>
<li><span class="text-arrow">&#9658;</span> <a href="<?php the_permalink();?>"><?php the_title();?></a></li>
<?php endwhile; endif; wp_reset_query(); ?>

            <?php   
            echo "</ul></li>";
        }
    echo "</ul>";
?>
4

1 回答 1

1

你可以尝试这样的事情......在你的循环之前指定当前的post_id,然后判断post循环是否包含你的post_id。

// before loop
$page_id = $wp_query->get_queried_object_id();

// replace <li><span class="text-arrow">&#9658;</span> 
if($page_id ==$query->post->ID ) $class = " current-page-item";
<li><span class="text-arrow<?php echo $class; ?>">&#9658;</span> 
于 2013-04-27T02:47:32.490 回答