_get_term_hierarchy

函数
_get_term_hierarchy ( $taxonomy )
Access
Private
参数
  • (string) $taxonomy Taxonomy name.
    Required:
返回值
  • (array) Empty if $taxonomy isn't hierarchical or returns children as term IDs.
定义位置
相关方法
get_template_hierarchyget_page_hierarchyget_term_metaget_term_fieldget_term_by
引入
2.3.0
弃用
-

_get_term_hierarchy是一个WordPress的函数,它返回一个特定分类法的术语ID的多维数组,并按等级顺序组织: 这个函数用于创建分层导航菜单,在那里你需要显示一个类别的列表和它们的父/子关系。它接受一个参数,即分类法名称。

以术语ID检索分类法的子项。

function _get_term_hierarchy( $taxonomy ) {
	if ( ! is_taxonomy_hierarchical( $taxonomy ) ) {
		return array();
	}
	$children = get_option( "{$taxonomy}_children" );

	if ( is_array( $children ) ) {
		return $children;
	}
	$children = array();
	$terms    = get_terms(
		array(
			'taxonomy'               => $taxonomy,
			'get'                    => 'all',
			'orderby'                => 'id',
			'fields'                 => 'id=>parent',
			'update_term_meta_cache' => false,
		)
	);
	foreach ( $terms as $term_id => $parent ) {
		if ( $parent > 0 ) {
			$children[ $parent ][] = $term_id;
		}
	}
	update_option( "{$taxonomy}_children", $children );

	return $children;
}

常见问题

FAQs
查看更多 >