如何在wordpress中检查帖子是不是属于分类类别的子类别

Posted

技术标签:

【中文标题】如何在wordpress中检查帖子是不是属于分类类别的子类别【英文标题】:How to check whether the post belongs to a subcategory of taxonomy category in wordpress如何在wordpress中检查帖子是否属于分类类别的子类别 【发布时间】:2018-06-27 21:10:31 【问题描述】:

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

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

第一部分效果很好

is_tax('advert_category', 380) ) ||

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

【问题讨论】:

【参考方案1】:

我认为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>';
?> 

我希望这会有所帮助!

【讨论】:

如果我想在存档页面中显示包含仅属于特定父项的子项的帖子,我该如何使用它?我正在寻找的正是这种有条件的内容。 澄清一下,您想建立一个存档页面,显示来自父类别的帖子以及属于父类别子类别的任何帖子? 完全正确,只是它是自定义分类法“advert_category”。

以上是关于如何在wordpress中检查帖子是不是属于分类类别的子类别的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress-检查帖子是否属于某个类别

检查上一个帖子项目是不是具有特定的 Wordpress 帖子格式

Wordpress - 如何通过其分类过滤添加的自定义帖子?

Wordpress 获取不在自定义分类术语中的帖子

Wordpress:如何通过自定义分类法在作者页面中显示帖子计数

使用Twig和WordPress,如何确定帖子是否属于某个类别?