繁体   English   中英

在商店页面显示 WooCommerce 尺寸产品属性

[英]Display WooCommerce size product attribute on shop page

我在商店页面上展示了产品的变体,但它有缺货的变体。 如何仅显示有库存的变体?

按照我的代码:

add_action( 'woocommerce_after_shop_loop_item_title', 'display_size_attribute', 5 );
function display_size_attribute() {
    global $product;
    
    if ( $product->is_type('variable') ) {
        $taxonomy_size  = 'pa_numara';
        echo '<span class="attribute-size">' . $product->get_attribute($taxonomy_size) . '</span>';
    }
}

我找到了这样的解决方案,也许我正在分享它作为其他人的需要。

add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_echo_stock_variations_loop' );
    
function bbloomer_echo_stock_variations_loop(){
    global $product;
    if ( $product->get_type() == 'variable' ) {
        foreach ( $product->get_available_variations() as $key ) {
            $variation = wc_get_product( $key['variation_id'] );
            $stock = $variation->get_availability();
            $stock_string = $stock['availability'] ? $stock['availability'] : __( 'In stock', 'woocommerce' );
            $attr_string = array();
            foreach ( $key['attributes'] as $attr_name => $attr_value ) {
                $attr_string[] = $attr_value;
            }
            if($key['max_qty'] >= 1 ){
            echo '<div class="shop-attribute">'. implode( ', ', $attr_string ).'</div>';
            }
            else {
            echo "";
            }
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM