如何在自定义分类中显示带有父术语的子术语?

时间:2015-08-14 作者:nisr

在期刊网站上工作,具有自定义分类法“问题”的自定义帖子类型“出版物”。在custom taxonomy admin中,首先输入卷号作为父卷项,然后输入问题号作为父卷项的子项。我使用此代码显示所有问题条款的列表,但没有其父条款:

$taxonomyName = "age";
$parent_terms = get_terms($taxonomyName, array(\'parent\' => 0, \'orderby\' => \'slug\', \'hide_empty\' => false));   
echo \'<ul>\';
foreach ($parent_terms as $pterm) {
    $terms = get_terms($taxonomyName, array(\'parent\' => $pterm->term_id, \'orderby\' => \'slug\', \'hide_empty\' => false));
    foreach ($terms as $term) {
        echo \'<li><a href="\' . get_term_link( $term->name, $taxonomyName ) . \'">\' . $term->name . \'</a></li>\';  
    }
}
echo \'</ul>\';
此代码显示如下列表:

第1期第2期我所需要的是获取父术语和子术语,以将列表显示为:

有什么帮助吗?

1 个回复
最合适的回答,由SO网友:Domain 整理而成

刚刚调整了代码以实现所需的功能。看,如果这对你有用的话-

$taxonomyName = "age";
$parent_terms = get_terms($taxonomyName, array(\'parent\' => 0, \'orderby\' => \'slug\', \'hide_empty\' => false));   
echo \'<ul>\';
foreach ($parent_terms as $pterm) {
    $terms = get_terms($taxonomyName, array(\'parent\' => $pterm->term_id, \'orderby\' => \'slug\', \'hide_empty\' => false));
    foreach ($terms as $term) {
        echo \'<li>\'.$pterm->name.\', <a href="\' . get_term_link( $term->name, $taxonomyName ) . \'">\' . $term->name . \'</a></li>\';  
    }
}
echo \'</ul>\';
具体来说,我已经添加了$pterm->name<li> 标记,该标记应为您提供父术语名称及其每个子术语。

请注意:我没有测试它。

结束