我有一个Wordpress食谱博客,为用户提供“早餐”和“午餐”的食谱。每个食谱都是一个单独的Wordpress自定义帖子类型,标记为“早餐”或“午餐”。 (我正在使用标签,而不是因为我不打算进入的特定原因的类别。)自定义帖子类型称为“食谱”。
如果用户使用标记为“早餐”的帖子,他们会看到标记为“早餐”的所有其他帖子的列表。我通过查询(使用WP_Query)所有标记为“早餐”的帖子并在列表中显示这些帖子的标题来创建此列表。标题还链接到相应的帖子,以便用户可以在阅读“早餐”标签的帖子时跳转到任何“早餐”标签的帖子。
我的问题:如何在与我正在阅读的帖子对应的帖子标题中添加一个“活动”类? (所以,如果我在标题为“培根”的帖子上,我的“早餐”标签帖子中的标题“培根”应该有一个“活跃”的类。下面是我在我的单曲上使用的代码.php页面按标签生成我的帖子列表:
<?php if (has_tag( 'breakfast' )) { ?>
<?php $loop = new WP_Query( array( 'post_type' => 'recipes', 'tag' => 'breakfast') ); ?>
<ul>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<li>
<?php the_title( '<a href="' . get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . '" rel="bookmark">', '</a>' ); ?>
</li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul>
<?php } elseif (has_tag( 'lunch' )) { ?>
<?php $loop = new WP_Query( array( 'post_type' => 'recipes', 'tag' => 'lunch') ); ?>
<ul>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<li>
<?php the_title( '<a href="' . get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . '" rel="bookmark">', '</a>' ); ?>
</li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul>
<?php } else { ?>
<?php } ?>
答案 0 :(得分:5)
在自定义查询之前,将当前帖子的ID放在var:
中$temp = get_the_ID();
然后,在您的自定义循环中,检查ID是否匹配:
$class = ( $temp == get_the_ID() ) ? 'active' : '';
并将适当的类应用于标题:
class="' . $class . '"