如果帖子位于特定分类术语中,则显示HTML

时间:2014-10-17 作者:streetfire

我正在使用以下代码显示一个基于我博客上帖子所属类别的图像。我试图在我的自定义帖子类型下使用相同的概念。相反,类别是我的自定义分类法中的一个术语。我如何使用以下内容来查找术语?In\\u类别似乎不起作用。

 <?php if (in_category(\'Default\')) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } elseif (in_category(\'1 Star\')) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } elseif (in_category(\'2 Star\')) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } elseif (in_category(\'3 Star\')) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } elseif (in_category(\'4 Star\')) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } elseif (in_category(\'5 Star\')) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } else { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
    <?php } ?>

1 个回复
最合适的回答,由SO网友:Welcher 整理而成

尝试使用has_term(). 类似这样:

<?php if( has_term(\'term1\', \'taxonomy_name\', $post) ) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
<?php }elseif ( has_term( \'term2\', \'taxonomy_name\', $post) ) { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
<?php  } else { ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
<?php } ?>
您可能还想尝试使用速记if/else语句,这会使代码更干净,在类似这样的情况下更容易阅读。

使用速记的相同示例:

<?php if( has_term(\'term1\', \'taxonomy_name\', $post) ): ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
<?php elseif ( has_term( \'term2\', \'taxonomy_name\', $post) ) :?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
<?php else: ?>
    <img src="http://www.site.com/wp-content/themes/site/img/stars-01.png" width="100" height="21" alt="default">
<?php endif; ?>
希望这有帮助!

结束

相关推荐

WP_LIST_CATEGORIES和自定义帖子类型

我很困惑。我有一个自定义的帖子类型“资产”</我创建了帖子,它们都在/asset/post-title我为自定义帖子类型分配了类别,例如“模式”类别页面显示每个类别中的帖子数量。如果在单个视图中查看这些帖子的帖子元,它会显示分配给它的类别</然而,如果你点击帖子元(“模式”)中的分类链接,我会看到一个“找不到”的页面。如果我将类别分配给normal 帖子类型,这些将显示在类别页面中。我忘了什么?编辑:我还应该补充,“模式”的链接是/category/patterns