如何显示分类术语的子项?

时间:2017-08-11 作者:Neelam Khan

我正在尝试显示自定义分类术语的孙子术语。

主要的父分类术语是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?

1 个回复
最合适的回答,由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>\';

结束

相关推荐

How to get terms for taxonomy

如何获取分类法customcategorie的所有术语我试图在分类法中保留代码。php<?php /* Template Name:Taxoo */ get_header(); ?> <?php $term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_v