根据搜索的类别更改类

时间:2010-07-15 16:53:24

标签: php wordpress

如果帖子属于此类别或选择了类别,我使用以下代码突出显示菜单项:

<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"

1 个答案:

答案 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之外,以使事情更加整洁。