跳至正文

从WooCommerce相关产品中删除缺货产品

显示在产品详情页的相关产品与当前查看的产品具有相同的标签或类别。

例如,如果您正在查看属于服装类别的一双袜子,您将在相关产品标题下看到同样属于该服装类别的产品。

默认情况下,相关产品随机排序(手动定义的交叉销售和追加销售也是如此)。

相关产品,尽管不是人工定义的交叉销售或追加销售,但可以作为额外购买,潜在地增加您的平均订单价值(AOV)。

因此,隐藏缺货的相关产品是非常有意义的。

网上查找了很多代码片断,以下亲测有效:

//remove OOS products from related products in WooCommerce
add_filter( 'woocommerce_related_products', 'exclude_oos_related_products', 10, 3 );
function exclude_oos_related_products( $related_posts, $product_id, $args ) {
	$out_of_stock_product_ids = (array) wc_get_products( array(
	          'status'       => 'publish',
	          'limit'        => -1,
	          'stock_status' => 'outofstock',
	          'return'       => 'ids',
	      ) );
	$exclude_ids = $out_of_stock_product_ids;
	return array_diff( $related_posts, $exclude_ids );
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注