부모 범주의 자녀를 가져옵니다


17

이 루프에 모든 하위 범주를 표시하려고하지만 코드로 어려움을 겪고 있습니다. 이것이 내가 지금까지 가진 것입니다.

<?php $args=array('orderby' => 'name', 'order' => 'ASC');
    $categories=get_categories($args); 
    foreach ($categories as $cat) { ?>
    <dt><a href="#" class="customer-acquisitiontop" id="<?php echo $cat->slug; ?>" data-filter=".<?php echo $cat->slug; ?>"><h2><?= $cat->cat_name; ?></h2></a></dt>
    <dd><div class="services">
    <?= $categories=get_categories('parent'); ?> /*This should be the children of the parent category */
    </div>
    </dd>
<?php } ?>

어떤 도움이라도 좋을 것입니다

답변:


19

문자열 "parent"를에 전달할 수는 없습니다 get_categories. 부모의 ID를 전달해야합니다.

$categories=get_categories(
    array( 'parent' => $cat->cat_ID )
);

사용할 수있는 두 개의 유사하지만 동일하지 않은 "자식 가져 오기"매개 변수 가 있습니다.

child_of (integer) ID로 식별 된 범주의 하위 항목 (예 : 자녀 및 손자) 인 모든 범주를 표시합니다. 이 매개 변수에는 기본값이 없습니다. 매개 변수가 사용되면 hide_empty 매개 변수가 false로 설정됩니다.

parent (정수) 해당 ID로 식별 된 범주의 직계 자손 (즉, 자식 만) 인 범주 만 표시합니다. 'child_of'매개 변수와 같이 작동하지 않습니다. 이 매개 변수에는 기본값이 없습니다. [2.8.4에서]

이제를 반복해야합니다 $categories. 배열을 반향 할 수는 없습니다.

foreach ($categories as $c) {
    var_dump($c);
    // what you really want instead of var_dump is something to
    // to create markup-- list items maybe, For example...
    echo '<li>'.$c->cat_name.'</li>';
}

불행히도, 그것은 단지 Array의 출력을 제공합니다. 가져올 값이 없습니다.
Chris Da Sie

'배열'은 배열을 반향하려고 할 때 발생하는 현상입니다. 배열을 반복하고 개별 요소를 에코해야합니다.
s_ha_dum

2
'hide_empty'=> false를 추가 할 수 있습니다. 빈 범주도 표시합니다.
Floris

2

archive.php 파일에서 아래 코드를 사용하십시오. 이 코드는 당신을 도울 것입니다 :

<?php

    $term = get_queried_object();

    $children = get_terms( $term->taxonomy, array(
        'parent'    => $term->term_id,
        'hide_empty' => false
    ) );

    if ( $children ) { 
        foreach( $children as $subcat )
        {
            echo '<li><a href="' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . '">' . $subcat->name . '</a></li>';
        }
    }
?>

제발 편집 답변을 하고, 설명을 추가 : 문제를 해결할 수있는?
fuxia

0

배열에 값이 없으면 다음 방법을 시도해보십시오.

$last_categories = get_categories(
  array(
    'taxonomy' => 'product_cat',
    'parent' => $sub_category->cat_ID
  )
);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.