如果帖子属于此类别或选择了类别,我使用以下代码突出显示菜单项:
<a href="/category/presets/photoshop_actions" title="Only Photosshop Actions"
<?php if (is_category(photoshop_actions) || is_single() && in_category('47')) {
echo ' class="rounded rounded_active" ';}
else{
echo ' class="rounded" ';}
?>
>
<span>
Photoshop Actions
</span>
</a>
所以这是交易:如果在类别中执行了搜索,我也想要设置rounded_active类 - 假设在执行搜索时网址看起来像这样:http://localhost:8888/?cat=47&s=boats如何做我展开上面的代码,检查id为47的类别是否是搜索查询的一部分,然后回显
class="rounded rounded_active"
答案 0 :(得分:1)
<?php $active = is_category('photoshop_actions') || in_category(47) || get_query_var('cat') == 47; ?>
<a href="/category/presets/photoshop_actions" title="Only Photosshop Actions" class="rounded<?php echo $active ? ' rounded_active' : ''; ?>">
<span>Photoshop Actions</span>
</a>
class属性中的PHP语句是shorthand if
。
我还将主要逻辑保留在HTML之外,以使事情更加整洁。