Отображение списка терминов подкатегорий на страницах архива подкатегорий WooCommerce - PullRequest
1 голос
/ 05 августа 2020

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

Но мне нужно только подать заявку это для SPECIFI C категорий продуктов, и использование массива с набором идентификаторов категорий кажется не идеальным.

Мне нужно отображать список только для первых дочерних категорий, поэтому, например, одна из моих основная родительская категория - это «Одежда», затем подкатегория «Рубашки», а затем подкатегория «Без рукавов». Мне нужно отобразить его только в первых подкатегориях, в этом примере «Рубашки».

1 Ответ

1 голос
/ 05 августа 2020

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

add_action('woocommerce_before_shop_loop', 'display_sub_subcategories', 10 );
function display_sub_subcategories() {
    $obj      = get_queried_object();
    $taxonomy = 'product_cat';

    if ( is_a($obj, 'WP_Term') && $taxonomy === $obj->taxonomy && 0 != $obj->parent ) {
        // Get sub-subcategories of the current subcategory
        $terms = get_terms([
            'taxonomy'    => $taxonomy,
            'hide_empty'  => true,
            'parent'      => $obj->term_id
        ]);

        if ( ! empty($terms) ) :

        $output = '<ul class="subcategories-list">';

        // Loop through product subcategories WP_Term Objects
        foreach ( $terms as $term ) {
            $term_link = get_term_link( $term, $taxonomy );

            $output .= '<li class="'. $term->slug .'"><a href="'. $term_link .'">'. $term->name .'</a></li>';
        }

        echo $output . '</ul>';
        endif;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...