首页 > 解决方案 > 如何在wordpress中检查帖子是否属于分类类别的子类别

问题描述

我的目标是根据帖子是否属于自定义分类的主要类别以及某个分类类别的任何子类别,在 Wordpress 的存档页面中显示条件内容。我知道如何为普通的帖子类别和子子类别实现这一目标。

if (is_category('dogs') || cat_is_ancestor_of('dogs', get_query_var( 'cat' )) { echo 'Successs';

第一部分工作正常

is_tax('advert_category', 380) ) ||

但是如何检查帖子是否属于分类类别 380 的子类别?

标签: wordpressarchivetaxonomy

解决方案


我认为is_tax()用于检查帖子是否具有特定术语的功能是错误的。is_tax()只需检查您是否在分类档案中。

您应该使用has_term(),它就是这样做的 - 它检查帖子是否具有特定术语。

当我们开始查看术语时,get_term_children我们可以使用该功能:

<?php
$term_id = 380;
$taxonomy_name = 'advert_category';
$term_children = get_term_children( $term_id, $taxonomy_name );

echo '<ul>';
foreach ( $term_children as $child ) {
    $term = get_term_by( 'id', $child, $taxonomy_name );
    echo '<li><a href="' . get_term_link( $child, $taxonomy_name ) . '">' . $term->name . '</a></li>';
}
echo '</ul>';
?> 

我希望这有帮助!


推荐阅读