已经有了用于此的内置函数,无需为此创建自定义函数。调用该函数get_term_children()
并将返回
如果给定术语有子术语,则子术语数组
如果未找到子项,则为空数组
WP_Error
对象,如果分类不存在记住这一点,包装
get_term_children()
如果只需要布尔值(如条件标记),则根据返回的值返回true或false
function has_term_have_children( $term_id = \'\', $taxonomy = \'category\' )
{
// Check if we have a term value, if not, return false
if ( !$term_id )
return false;
// Get term children
$term_children = get_term_children( filter_var( $term_id, FILTER_VALIDATE_INT ), filter_var( $taxonomy, FILTER_SANITIZE_STRING ) );
// Return false if we have an empty array or WP_Error object
if ( empty( $term_children ) || is_wp_error( $term_children ) )
return false;
return true;
}
如果分类法不是
category
, 您将得到一个boolen值,就像内置条件标记一样,如果术语有子项,则返回true,如果没有子项,则返回false。
if ( has_term_have_children( 21 ) ) {
// Do something if term 21 have children
}