谢谢各位,我找到了一个解决方案:
只需添加post_type_category
register\\u post\\u type()中的arguments对象的元素:
$args = array(
\'label\' => \'sausages\',
\'description\' => \'Sausages\',
\'labels\' => $labels,
\'post_type_category\' => \'food\',
\'supports\' => array( \'title\', \'category\' ),
\'hierarchical\' => false,
/* and so on */
);
register_post_type( \'sausage\', $args );
然后将其添加到函数中。php:
function is_post_type_in_cat ( $category = null , $post_type = null ) {
if(!$post_type) $post_type = get_post_type();
$post_type_object = get_post_type_object( $post_type );
$arr = isset($post_type_object->post_type_category) ? $post_type_object->post_type_category : null;
if( !$arr ) return false;
if ( !is_array($arr) )
$arr = array($arr);
return in_array($category, $arr);
}
然后,您可以使用以下代码签入主题:
if( is_post_type_in_cat( \'food\' ) ) :
//do something
else:
//do something
endif;
您不仅可以针对当前职位,还可以针对特定职位类型:
if( is_post_type_in_cat( \'food\', \'sausage\' ) ) :
//do something
else:
//do something
endif;
还可以将类别数组作为参数给定:
if( is_post_type_in_cat( array(\'food\', \'animal\', \'dairy\', \'cheese\'), \'gouda\' ) ) : // and so on
比我想象的要容易。感谢所有贡献者!如果在主要的CPT插件甚至WP核心中都没有实现这一点,也许在将来我会为此构建一个带有GUI的轻量级插件。