Изменение вариации изображения в Woocommerce в зависимости от цветового атрибута - PullRequest
0 голосов
/ 16 апреля 2020

Я борюсь с решением для изменения изображений на основе выбранных цветов. У меня есть 3 типа атрибутов: цвет, размер и ветви. Мое изображение образца работает, когда все эти 3 типа будут сопоставлены, например: изображение будет изменено, когда вы выберете: цвет + размер + ветвь. Но я хочу заставить его как-то изменить изображение на основе выбранного цвета и игнорировать 2 других атрибута. Вот мой код, который я сейчас использую.

if( defined('DOING_AJAX') && DOING_AJAX && ! isset($etheme_global['quick_view']) ) {
if( ! empty( $_REQUEST['product_id'] ) ) {
    $post_id = (int) $_REQUEST['product_id'];
    setup_postdata( $post_id );
    $main_attachment_id = get_post_thumbnail_id( $post_id );
    $product = wc_get_product($post_id);
    if( ! empty($_REQUEST['option']) ) {
        $option = esc_attr($_REQUEST['option']);
        $attributes = $product->get_attributes();
        $variations = $product->get_available_variations();
        $images = '';
        $thumb = '';
        $attachment_ids = array();

        foreach($variations as $variation) {
            if( isset( $variation['attributes']['attribute_' . $swatch] ) && $variation['attributes']['attribute_' . $swatch] == $option && has_post_thumbnail( $variation['variation_id'] ) ) {
                $main_attachment_id = get_post_thumbnail_id( $variation['variation_id'] );
            }
        }

    }
}

} else {
    $attachment_ids = $product->get_gallery_image_ids();
    $main_attachment_id = get_post_thumbnail_id( $post_id );
}

Возможно ли придумать это решение? какие-либо предложения?

Заранее спасибо за любые советы.

Приветствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...