WordPress: получать дочерние таксономии только с одного уровня вниз - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу отобразить подкатегории WooCommerce на основе текущей категории ie ID.

Чтобы получить все подкатегории, я использую следующий код для получения всех дочерних идентификаторов. Проблема в том, что я получаю все уровни ниже текущей категории.

Можно ли ограничить категории только следующим уровнем? Например: Уровень 1 получает категории только с уровня 2 и уровня 2 только с уровня 3.

Вот мой код (это из документов WordPress):

$term_id = $productcat_id;
$taxonomy_name = 'product_cat';
$termchildren = get_term_children( $term_id, $taxonomy_name );

echo '<ul>';
foreach ( $termchildren as $child ) {
    $term = get_term_by( 'id', $child, $taxonomy_name );
    echo '<li><a href="' . get_term_link( $child, $taxonomy_name ) . '">' . $term->name . '</a></li>';
}
echo '</ul>';

1 Ответ

2 голосов
/ 24 февраля 2020

Как взято из https://wordpress.stackexchange.com/a/124429

Вы можете сделать

$term_children = get_terms(
    'product_cat',
     array(
        'parent' => get_queried_object_id(),
     )
);

if ( ! is_wp_error( $terms ) ) {
    echo '<ul>';
    foreach ( $termchildren as $child ) {
        $term = get_term_by( 'id', $child, $taxonomy_name );
        echo '<li><a href="' . get_term_link( $child ) . '">' . $child->name . '</a></li>';
    }
    echo '</ul>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...