Как получить Woocommerce все дочерние категории из текущей родительской категории - PullRequest
0 голосов
/ 22 мая 2019

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

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Вы можете использовать выделенную функцию WordPress get_term_children() из идентификатора термина категории продукта:

$child_terms_ids = get_term_children( $term_id, 'product_cat' );

Возвращает массив идентификаторов дочерних терминов.


Для страниц архива категорий товаров вы можете использовать:

// get the current product category term ID
if ( is_product_category() ) {
    $term_id = (int) get_queried_object_id();
}

if ( term_exists( $term_id, 'product_cat' ) ) {
    $child_terms_ids = get_term_children( $term_id, 'product_cat' );

    // Loop through child terms Ids
    foreach ( $child_terms_ids as $child_term_id ) {
        $child_term = get_term_by( 'term_id', $child_term_id, 'product_cat' );
        // The term name
        $child_name = $child_term->name;
        // The term link
        $child_link = get_term_link( $child_term, 'product_cat' );
    }
}
0 голосов
/ 22 мая 2019

Просто добавьте ваш родительский term_id в запрос get_terms, чтобы получить все его дочерние элементы следующим образом -

$cat_args = array(
    'orderby'    => 'name',
    'order'      => 'ASC',
    'hide_empty' => false,
    'parent'     => $parent_term_id, // set your parent term id
);

$child_categories = get_terms( 'product_cat', $cat_args );

// since wordpress 4.5.0
$cat_args = array(
    'taxonomy'   => "product_cat",
    'orderby'    => 'name',
    'order'      => 'ASC',
    'hide_empty' => false,
    'parent'     => $parent_term_id, // set your parent term id
);
$child_categories = get_terms($cat_args);

Он вернет все дочерние объекты терминов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...