0

次のコードを見つけて使用して、デフォルトの分類法「カテゴリ」のサブカテゴリをサイトに表示しましたが、カスタム分類法を作成しましたが、コードを変更できないため、新しい分類法に対して同じことを行っていました。助けてください

 <?php

if(is_category()) {
    $subcategories = get_terms('category', 'parent='.get_query_var('cat'));

    if(empty($subcategories)) {
        $thiscat = get_term(get_query_var('cat'),'category');
        $subcategories = get_terms('category', 'parent='.$thiscat->parent.'');
    }
    if(empty($subcategories)) $subcategories = array();
    if(!empty($subcategories)) {
        echo '<ul>';

        foreach($subcategories as $subcat) {
            if(get_query_var('cat') == $subcat->term_id) $current = ' current-cat'; else $current = '';
            echo '
            <li class="cat-item cat-item-'.$subcat->term_id.$current.'">
                <a href="'.get_category_link( $subcat->term_id ).'" title="'.$subcat->description.'">'.$subcat->name.'</a>
            </li>';

        }
        echo '</ul>';
    }
}
else {
    // If no current cat query, just get the top level ones using wp_list_categories.
    ?>
    <ul>
        <?php wp_list_categories('title_li=&depth=1');?>
    </ul>
    <?php
}
?>
4

2 に答える 2

0

結局のところ、コードは思い通りに機能しますが、最適化できる場合は喜んでお手伝いします... このコードは、サブカテゴリをタクソノミーのメイン カテゴリに表示します。誰かが使用する必要がある場合は、「auto」を分類法の名前に変更してください。私のカスタム分類法は「自動」です

    <?php

if(is_tax()) {
    $subcategories = get_terms('auto', 'parent='.get_queried_object()->term_id);

    if(empty($subcategories)) {
        $thiscat = get_term(get_queried_object()->term_id,'auto');
        $subcategories = get_terms('auto', 'parent='.$thiscat->parent.'');
    }
    if(empty($subcategories)) $subcategories = array();
    if(!empty($subcategories)) {
        echo '<ul>';

        foreach($subcategories as $subcat) {
            if(get_queried_object()->term_id == $subcat->term_id) $current = ' current-cat'; else $current = '';
            echo '
            <li class="cat-item cat-item-'.$subcat->term_id.$current.'">
                <a href="'.get_term_link($subcat,'auto').'" title="'.$subcat->description.'">'.$subcat->name.'</a>
            </li>';

        }
        echo '</ul>';
    }
}
else {
    // If no current cat query, just get the top level ones using wp_list_categories.
    ?>
    <ul>
        <?php wp_list_categories('taxonomy=auto&title_li=&depth=1');?>
    </ul>
    <?php
}
?>
于 2013-08-21T12:01:01.420 に答える