Використовуючи цей код для своїх основних тем, з якими працюю. Давно вже постає питання, чому така функція не доступна за замовчуванням.
add_filter( 'woocommerce_products_widget_query_args', 'custom_products_widget_query_arg', 10, 1 ); function custom_products_widget_query_arg( $query_args ) { if( ! is_admin() ) { $query_args['meta_query'][] = array( 'key' => '_stock_status', 'value' => 'outofstock', 'compare' => '!=' ); } return $query_args; }
Для віджету з подібними товарами використовуйте ще й цей код:
add_filter( 'woocommerce_related_products', 'mysite_filter_related_products', 10, 1 ); function mysite_filter_related_products( $related_product_ids ) { foreach( $related_product_ids as $key => $value ) { $relatedProduct = wc_get_product( $value ); if( ! $relatedProduct->is_in_stock() ) { unset( $related_product_ids["$key"] ); } } return $related_product_ids; }