У меня есть этот Континент -> Настройка категории страны для пользовательского типа сообщения.
- Africa (parent 1)
- Uganda
- Zambia
- Zimbabwe
- Asia (parent 2)
- Afghanistan
- Bahrain
- Bangladesh
- Bhutan
Если для сообщения проверена родительская категория, не повторяйте дочерние категории. (даже если проверен один или несколько дочерних элементов) echo => Africa, Asia
И возврат , если проверена одна или несколько дочерних категорий, но родительская категория - НЕ проверено. Показывать только дочерние категории. echo => Uganda, Zambia, Zimbabwe, Afghanistan, Bahrain, Bangladesh, Bhutan
ОБНОВЛЕНИЕ Также, если отмечена Африка (родитель 1), в то время как Азия (родитель 2) НЕ checke, но Афганистан и Бутан (дети родителя) 2) проверено, вывод должен быть: echo => Africa, Afghanistan, Bhutan.
Это будет выводить только ЕСЛИ проверена одна или несколько родительских категорий.
<?php
$post = get_post(); // If $post is already available, skip.
$terms = get_the_terms( $post->ID, 'custom-category' );
foreach ( $terms as $term ) :
if ( $term->parent === 0 ) :
echo '<a href="' . esc_url( get_term_link( $term->term_id, 'custom-category' ) ) .
'" title="' . esc_html( $term->name ) . '" ' . '>' . esc_html( $term->name ) .
'</a> ';
endif;
endforeach;
?>
Как вывести дети, если их родитель НЕ проверен?