我创建了一个功能,显示使用此模板的所有页面的父类别缩略图( taxonomy-product_cat.php )。该功能正在我的一个子类及其子类别(具有6个子类别的类别1)上工作,问题出在我创建的另一个类别(具有6个子类别的类别2)上。它重复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>