我有一个自定义分类法"图书馆"其中有2个术语:"小说"和"小说"
我正在尝试执行一项功能,具体取决于我的帖子中包含的这个分类中的术语。
因此,如果帖子被分配到"小说",我需要//do something
,如果帖子被分配到"小说"我需要//do something else
最初,我一直在尝试使用is_tax
,但这似乎并没有按预期工作:
if ( is_tax('library','fiction' ) ) {
//do something
} elseif ( is_tax('library','novels' ) ) {
//do something else
}
我也试过了has_term
,但这对我来说也不起作用。
if ( has_term ('fiction','library' ) ) {
//do something
} elseif ( has_term ('novels','libary' ) ) {
//do something else
}
所以我想试试wp_get_post_terms
,但我不确定如何执行这个。
我正在尝试这个:
$terms = wp_get_post_terms( $post->ID, 'library' );
foreach ( $terms as $term ) {
if($term->name == 'fiction') {
// do something
}
elseif($term->name == 'novels') {
// do something else
}
}
我错过了什么吗?特别是这最后一个?
答案 0 :(得分:0)
通过使用get_categories()获取您的类别名称;功能强>
$category_args = array(
'type' => 'yourposttypename',
'child_of' => 0,
'parent' => 0,
'orderby' => 'id',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 1,
'exclude' => '',
'include' => '',
'number' => '',
'taxonomy' => 'library',
'pad_counts' => false
);
$categories = get_categories( $category_args );
if(count($categories)>0)
{
foreach ( $categories as $category ) {
if($category->name=='fiction')
{
// do something
}
else if($category->name=='novels')
{
// do something else
}
}
}