在分类法归档页面上,无论是子术语还是父术语,都可以使用get_queried_object()
包含以下属性term_id
(术语ID)和slug
(术语slug)。父项ID的属性名称为parent
. 因此,您可以这样做以获取父项的术语ID:
$cat = get_queried_object();
$parent_cat_id = $cat->parent;
要在父术语中显示术语列表,可以使用
wp_list_categories()
. 下面是一个示例
title_li
设置为
\'\'
和
echo
设置为
0
, 这意味着我正在手动将输出放入
UL
(
<ul></ul>
):
$cat = get_queried_object();
$list = wp_list_categories( [
\'taxonomy\' => $cat->taxonomy,
\'child_of\' => $cat->parent,
\'title_li\' => \'\',
\'echo\' => 0,
] );
if ( $list ) {
echo "<ul>$list</ul>";
}
如果您想完全控制HTML,例如在术语链接之前/之后添加自定义HTML,或者添加自定义CSS类,您可以使用
get_terms()
并循环遍历术语对象以显示术语:
$cat = get_queried_object();
$cats = get_terms( [
\'taxonomy\' => $cat->taxonomy,
\'child_of\' => $cat->parent,
] );
if ( ! empty( $cats ) ) {
echo \'<ul>\';
foreach ( $cats as $cat ) {
$url = esc_url( get_category_link( $cat ) );
// change the \'before\' and/or \'after\' or whatever necessary
echo "<li>before <a href=\'$url\'>$cat->name</a> after</li>";
}
echo \'</ul>\';
}