我需要一点帮助,拜托了。 我想从单个产品页面隐藏不再有库存的产品,只在相关产品区域。 我创建了它并且一切正常,但是我无法将它隐藏在相关区域中,我所做的任何更改都不起作用。 现有代码在我的情况下不起作用。 谢谢。
我用这些来创建“缺货”徽章:
//Add an out of stock overlay to product images when all variations are unavailable
add_action( 'woocommerce_before_shop_loop_item_title', function() {
global $product;
if ( !$product->is_in_stock() ) {
echo '<span class="sold-out-overlay">Stoc epuizat</span>';
}
});
/*Sold out badge automat in*/
.sold-out-overlay {
background: #000000;
color: #fff;
font-size: 11px;
font-weight: 600;
padding: 5px 10px;
position: absolute ;
right: 5px;
top: 20px;
z-index: 1;
}
答案 0 :(得分:1)
不需要使用 CSS,您可以使用 woocommerce_related_products
过滤器钩子代替。
function filter_woocommerce_related_products( $related_posts, $product_id, $args ) {
foreach( $related_posts as $key => $related_post ) {
// Get product
$related_product = wc_get_product( $related_post );
// Is a WC product
if ( is_a( $related_product, 'WC_Product' ) ) {
// Stock status
$stock_status = $related_product->get_stock_status();
// Out of stock
if ( $stock_status == 'outofstock' ) {
unset( $related_posts[$key] );
}
}
}
return $related_posts;
}
add_filter( 'woocommerce_related_products', 'filter_woocommerce_related_products', 10, 3 );
相关:Show only “in stock” related products on WooCommerce single product page