基于列表中的帖子类别回显CSS类

时间:2017-06-23 作者:JGallardo

我想完成的是,我需要一个旁白,从一组特定的5个类别中抽出最后5个帖子。

不是每个职位的最新职位,不是每个职位的最后5个职位,而是5个类别中最后5个职位的总数。

类别ID为:89,90,91,92,93

背景

我有5个不同的分类页面,所以这让它变得更加棘手。其中每一个都使用include作为旁白。我写的逻辑包括。

PHP

<?php 
    if ( in_category( 92, $post_id ) ) : ?>
    $bfaCat = \'bfa-cat-ba\';

<?php endif; ?>
然后我必须循环通过。如果帖子不属于任何类别,则不应用任何内容。但如果帖子属于该类别,则添加一个变量(如$bfaCat) 如果具有以下类别id(左侧),则应用以下类别(右侧)

89 - bfa-cat-bl
90 - bfa-cat-fs
91 - bfa-cat-s1
92 - bfa-cat-ba
93 - bfa-cat-ea
HTML-尝试1-在模板中
<div class="bfa-category <?=$bfaCat;?>">
    <?php the_category(); ?>
</div>
HTML-所需输出示例
<div class="bfa-category bfa-cat-bl">
    <?php the_category(); ?>
</div>
HTML-尝试2-如果修改会更好吗我知道这很草率,但我也尝试了内联,但它只是将这个类应用于所有内容

<div class="bfa-category <?php if (get_category(\'91\')) echo \'bfa-cat-s1\'; ?>">
    <?php the_category(); ?>
</div>
因此,这门课似乎在每件事中都得到了回应。

2 个回复
SO网友:WizardCoder

get_category(\'91\') 总是要返回类别ID为91的对象的数据。这意味着您的if语句将始终返回true。您需要获取当前迭代帖子分配的类别ID,然后检查它是否为91。

<!-- Return objects of current iterated posts associated categories -->
$categories = get_the_category();
<!-- Get current iterated posts assigned category ID from $categories object. The [0] is because a post can be assigned to multiple categories. 
In your example you are probably only assigning one category per post, so you just need to grab the ID of the first category in the returned object. -->
$category_id = $categories[0]->cat_ID;
<!-- Check if current iterated assigned posts category ID is equal to 91 -->
<div class="bfa-category <?php if ($category_id == 91) echo \'bfa-cat-s1\'; ?>">
    <?php the_category(); ?>
</div>

SO网友:JGallardo

这就是我最终基于帮助编写的代码。我使用建议的PHP来获得分配类别。cat\\U ID;?>

然后在它下面,我把它放在实际元素之上,在那里我创建了逻辑来分配适当的类

PHP

<div class="bfa-category 
    <?php 
        if ($category_id == 89) {
            echo \'bfa-cat-bl\';
        } elseif ($category_id == 90) {
            echo \'bfa-cat-fs\';
        } elseif ($category_id == 91) {
            echo \'bfa-cat-s1\';
        } elseif ($category_id == 92) {
            echo \'bfa-cat-ba\';
        } elseif ($category_id == 93) {
            echo \'bfa-cat-ea\';
        }
    ?>">
    <?php the_category(); ?>
</div>

结束

相关推荐

生成的自定义Metabox的PHP输出

我使用WordPress Meta Box Generator v2 Beta网站生成了一个自定义的Meta Box,将自定义图像文件上传到自定义帖子中,在管理端,一切似乎都很好,但我不知道如何在前端进行输出。所以我尝试了<?php echo get_post_meta( get_the_id(), \'project_logo_logo-image\', true ); ?> 但似乎什么都不起作用,也没有任何产出。请你给我指一下正确的方向好吗? class Rational_Meta_