Я создал функцию, отображающую миниатюры родительских категорий для всех страниц, использующих этот шаблон ( taxonomy-product_cat.php ). Эта функция работает над одним из моих родителей и ее подкатегориями (категория 1 с 6 подкатегориями), проблема связана с другой категорией (категория 2 с 6 подкатегориями), которую я создал. Он повторяет эхо 6 раз = эквивалентно количеству его подкатегорий. Я не знаю, что вызывает это.
function woocommerce_get_parent_thumbnail() { global $post; $prod_terms = get_the_terms( $post->ID, 'product_cat' ); foreach ($prod_terms as $prod_term) { // gets product cat id $product_cat_id = $prod_term->term_id; // gets an array of all parent category levels $product_parent_categories_all_hierachy = get_ancestors( $product_cat_id, 'product_cat' ); // This cuts the array and extracts the last set in the array $last_parent_cat = array_slice($product_parent_categories_all_hierachy, -1, 1, true); foreach($last_parent_cat as $last_parent_cat_value){ $category_thumbnail = get_woocommerce_term_meta($last_parent_cat_value, 'thumbnail_id', true); $image = wp_get_attachment_url($category_thumbnail); echo '<div class="d-flex" style="background-image:url('.$image.');">'; } } }
Функция отображения
<div class=""> <?php woocommerce_get_parent_thumbnail(); ?> <div class="row align-items-center justify-content-lg-end justify-content-md-center justify-content-sm-center w100"> <div class="col-md-12 col-lg-5 mLxxl mRxxl pTxxl pLxxl pBxxl pRxxl"> <p class="">catalogue</p> <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?> <h1 class=""><?php woocommerce_page_title(); ?></h1> <?php endif; ?> <p class="fs-16"></p> </div> </div> </div>