Добавить класс к миниатюре для товаров которых нет в наличии (в категории товаров) woocommerce

Добавить класс ко всем миниатюрам получается, а сделать условие: только для тех что нет в наличии не могу. Пробовал так:

add_filter('woocommerce_is_purchasable', 'AddThumbnailClass', 10, 2);
function AddThumbnailClass( $atts, $attachment ) {
    global $product;
    if(!$product->is_purchasable() ){
        $atts['class'] .= " categ-img";
    } else $atts['class'] .= "";
    
    return $atts;
}

не работает.


Ответы (1 шт):

Автор решения: WP Punk

Состояние товара вы можете получить использовав метод get_stock_status. Если товара нет в наличии он равен outofstock

add_filter( 'woocommerce_is_purchasable', 'add_thumbnail_class' );
function add_thumbnail_class( $attributes ) {

    global $product;
    if ( ! $product->is_purchasable() ) {
        $attributes['class'] .= " categ-img";
    }
    if ( 'outofstock' === $product->get_stock_status() ) {
        $attributes['class'] .= " product-out-of-stock";
    }

    return $attributes;
}

Подробнее https://woocommerce.wp-a2z.org/oik_api/wc_productget_stock_status/

→ Ссылка