你的解决方案行不通,因为$ep_category->category_parent
是ID(整数),而不是slug(字符串)。所以这种比较没有任何意义……;)
一种方法是使用此函数(from Codex):
if ( ! function_exists( \'post_is_in_descendant_category\' ) ) {
function post_is_in_descendant_category( $cats, $_post = null ) {
foreach ( (array) $cats as $cat ) {
// get_term_children() accepts integer ID only
$descendants = get_term_children( (int) $cat, \'category\' );
if ( $descendants && in_category( $descendants, $_post ) )
return true;
}
return false;
}
}
将其添加到主题后,可以通过以下方式使用:
if ( in_category( \'watch-isatv\' ) || post_is_in_descendant_category( 11 ) ) ... // where 11 is \'watch-isatv\' category ID