Loại trừ các mặt hàng hết hàng khỏi danh sách sản phẩm

Làm thế nào để bạn loại trừ hết hàng các sản phẩm từ WooCommerce sản phẩm vòng lặp? Trong mẹo này, tôi sẽ chia sẻ cách bạn loại trừ chúng khỏi trang lưu trữ cửa hàng, danh mục sản phẩm, v.v. của bạn.

Mở tệp functions.php của chủ đề đang hoạt động của bạn và thả đoạn mã PHP đơn giản này vào cuối tệp:

function wpbb_exclude_outofstock_products( $query ) {
	if ( ( is_shop() || is_product_category() || is_product_taxonomy() ) && $query->is_main_query() && ! is_admin() ) {
		$args = array(
			'relation' => 'AND',
			array(
				'key' => '_stock_status',
				'value' => 'outofstock',
				'compare' => '!='
			)
		);
		$query->set( 'meta_query', $args );
	}
}
add_action( 'pre_get_posts', 'wpbb_exclude_outofstock_products', 90 );

Mã trên không bao gồm các mặt hàng hết hàng từ trang cửa hàng, trang lưu trữ danh mục sản phẩm / phân loại.