更改页面时 Woocommerce 子类别消失

问题描述 投票:0回答:1

当产品页面的 URL 为 /?product_cat=tricka&paged=1 时,将显示子类别。当我将页面更改为 /?product_cat=tricka&paged=2 时,子类别消失了。

我得到这样的子类别:

<?php 
$subcategories = woocommerce_maybe_show_product_subcategories();
if ( $subcategories ) {
    echo '<div class="products subcategories row custom-category-align-and-border">', $subcategories, '</div>';
}

这里可能出现什么问题?

在任何地方都找不到解决方案..

wordpress woocommerce categories
1个回答
0
投票

您可以检查变量是否返回空并自行生成所需的 HTML 代码。

<?php 
$subcategories = woocommerce_maybe_show_product_subcategories();
if ( $subcategories ) {
    echo '<div class="products subcategories row custom-category-align-and-border">', $subcategories, '</div>';
}
else{
    $category = get_queried_object();
    $category_id = $category->term_id;
    custom_show_subcategories_with_images_atakanau($category_id);
}
function custom_show_subcategories_with_images_atakanau($parent_category_id) {
    $args = array(
        'taxonomy' => 'product_cat',
        'parent' => $parent_category_id
    );
    $subcategories = get_terms($args);
    
    if ($subcategories) {
        $output = '<ul class="subcategories">';

        foreach ($subcategories as $subcategory) {
            $category_image = get_term_meta($subcategory->term_id, 'thumbnail_id', true);
            if (empty($category_image)) {
                $image_url = wc_placeholder_img_src();
            }
            else{
                $image_url = wp_get_attachment_url($category_image);
            }

            $output .= '<li>';
            $output .= '<a href="' . get_category_link($subcategory->term_id) . '">';
            $output .= '<img src="' . $image_url . '" alt="' . $subcategory->name . '" />';
            $output .= '<span>' . $subcategory->name . '</span>';
            $output .= '</a>';
            $output .= '</li>';
        }
        $output .= '</ul>';
        echo $output;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.