我正在尝试显示自定义分类术语的孙子术语。
主要的父分类术语是product_range
, 子分类术语是Mechanical Trackballs
, 每个子类别都有多个孙子术语,例如:
产品范围>;机械轨迹球>;16毫米
产品范围>;机械轨迹球>;25毫米
我正在尝试列出子分类术语的所有孙子条目。
我目前有以下代码:
$term_id = 49;
$taxonomy_name = \'product_range\';
$term_children = get_term_children( $term_id, $taxonomy_name );
echo \'<ul>\';
foreach ( $term_children as $child ) {
$term = get_term_by( \'id\', $child, $taxonomy_name );
echo \'<li><a href="\' . get_term_link( $child, $taxonomy_name ) . \'">\' . $term->name . \'</a></li>\';
}
echo \'</ul>\';
但是,正如您所看到的,每当我想显示其子项时,我都必须添加子分类术语ID,这不是未来的证明,因为这是针对客户端站点的,他们可能会添加/删除分类术语。
如何显示每个子术语的孙子分类术语,而不必声明分类术语ID?
最合适的回答,由SO网友:Neelam Khan 整理而成
我自己设法回答了这个问题,添加了get_queried_object()->term_id;
它现在输出当前分类术语的所有孙分类术语,而不是分类术语ID。
以下是我更新的工作代码:
$term_id = get_queried_object()->term_id;
$taxonomy_name = \'product_range\';
$term_children = get_term_children( $term_id, $taxonomy_name );
echo \'<ul>\';
foreach ( $term_children as $child ) {
$term = get_term_by( \'id\', $child, $taxonomy_name );
echo \'<li><a href="\' . get_term_link( $child, $taxonomy_name ) . \'">\' . $term->name . \'</a></li>\';
}
echo \'</ul>\';