0

需要帮助:我必须仅显示自定义分类法 WordPress 的特定父级的子术语,在我的情况下:分类名称:“区域”,与此相关:父术语及其子项:欧洲:-葡萄牙;- 德国; - 英格兰;

亚洲: - 中国;- 日本;

因此,例如,我需要仅在列表中显示欧洲的孩子,我该怎么做?我尝试了很多方法,只能显示所有父母的所有孩子:

        <?php
        $taxonomyName = "region";
        //This gets top layer terms only.  This is done by setting parent to 0.
        $parent_terms = get_terms( $taxonomyName, array( 'parent' => 0, 'orderby' => 'slug', 'hide_empty' => false ) );
        echo '<ul>';
        foreach ( $parent_terms as $pterm ) {
            //Get the Child terms
            $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 ) . '">' . $term->name . '</a></li>';
            }
        }
        echo '</ul>';
    ?>

但我只需要为特定的父母显示。谢谢您的帮助

4

1 回答 1

2

你已经有了答案。只需设置您的父项并摆脱顶部嵌套的 foreach。

 <?php
    $taxonomyName = "region";
    //Could use ACF or basic custom field to get the "parent tax ID" dynamically from a page. At least that's what I would do.
    $parent_tax_ID = '3';
    $parent_tax = get_term($parent_tax_ID);
    echo '<h3>' . $parent_tax->name . '</h3>';
    echo '<ul>';
    $terms = get_terms( $taxonomyName, array( 'parent' => $parent_tax_ID, 'orderby' => 'slug', 'hide_empty' => false ) );
    foreach ( $terms as $term ) {
        echo '<li><a href="' . get_term_link( $term ) . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
?>
于 2017-12-18T15:31:17.977 回答