Php — Отключить, Если Нет Дочерних Элементов — Woocommerce

  • Автор темы Ordinator
  • Обновлено
  • 18, Oct 2024
  • #1

У меня есть код, который отображает дочерние категории на экране, но у некоторых родительских категорий нет дочерних категорий, и в этом случае я не хочу, чтобы этот раздел отображался. кто-нибудь знает, как это сделать? вот мой текущий код для отображения категорий:

 <div class="list-group products box">

<h4>Product Range</h4>

<?php $terms = get_the_terms( $post->ID, 'product_cat' );

foreach ( $terms as $term ){

$category_name = $term->name;

$parent_category_id = $term->term_id;

$categories=get_categories(array( 'parent' => $category_id ));

$children = get_terms( 'product_cat', array(

'parent'    => $parent_category_id,

'hide_empty' => true

) );

foreach( $children as $subcat ){

?>

<a href="<?php echo get_term_link( $subcat->slug, 'product_cat' ); ?>" class="list-group-item"><?php echo $subcat->name; ?></a>

<?php } } ?>

</div>
 

Когда родительский элемент не имеет дочерних элементов, он просто отображает ассортимент продукции H4.

#php #woocommerce-оффтоп

Ordinator


Рег
15 Feb, 2016

Тем
74

Постов
163

Баллов
533
  • 25, Oct 2024
  • #2

Попробуйте ниже код

 <?php

$terms = get_the_terms($post->ID, 'product_cat');

foreach ($terms as $term) {

$category_name = $term->name;

$parent_category_id = $term->term_id;

$categories = get_categories(array('parent' => $category_id));

$children = get_terms('product_cat', array(

'parent' => $parent_category_id,

'hide_empty' => true

));

if (!empty($children)) {

echo ' <div class="list-group products box">

<h4>Product Range</h4>';

foreach ($children as $subcat) {

?>

<a href="<?php echo get_term_link($subcat->slug, 'product_cat'); ?>" class="list-group-item"><?php echo $subcat->name; ?></a>

<?php

}

echo "</div>";

}

}

?>
 

Надеюсь, это поможет

 

KillArt


Рег
26 Oct, 2004

Тем
85

Постов
228

Баллов
663
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно