bestsource

WooCommerce | Variable Product | 값당 Attribute X(out Y)에 동일한 이미지 할당

bestsource 2023. 10. 21. 10:37
반응형

WooCommerce | Variable Product | 값당 Attribute X(out Y)에 동일한 이미지 할당

WooCommerce 변수 제품에는 속성과 속성 값이 있으며, 이로 인해 변형이 발생합니다.

E.g. :
Attribute: 1 (Size) | Values: XS/S/M/L/XL
Attribute: 2 (Style/Color) | Values: Red/Green/Blue/Black/...
Attribute: 3 (Fabric) | Cotton/Polyester/Some other stuff...

스타일 값 당 그림이 하나라고 가정해 보겠습니다.또한 총 변동량이 500개라고 가정합니다(3중 속성으로 인해 누적됨).

변형된 모든 사진을 수동으로 편집할 필요가 없도록 "ATTRIB2 VALUE"당 하나의 사진을 연결하는 간단한 방법이 있습니까?

단일 변형이 500개인 100개의 제품은 몽키 작업이 많은 것 같아요, 더 좋은 방법이 있을 거예요.

편집: 모든 파란색 변형의 경우 사진 1장, 모든 빨간색 변형의 경우 사진 1장...등..

추가 질문:활성화된 "페이지"에 있는 것들만 적용하는 것이 아니라 대량의 "정가 설정"을 사용하여 모든 변형에 적용할 수 있는 방법이 있습니까?

테스트 설치에서는 다음이 효과적입니다.

/**
 * Replace Woocommerce Product Variation Images
 * based on variation slug 
 */

add_filter( 'woocommerce_product_variation_get_image_id', 'so_filter_wooc_product_variation_images', 10, 2 ) ;

function so_filter_wooc_product_variation_images( $image_id, $data ) {

    //the variation product slug includes "-black"...
    if ( strpos( $data->slug, '-black') ) { 

        //replace with new image by id number
        return $new_image_id ;

    } 

    //else return the image_id according to default settings
    return $image_id ;

}

제가 여기서 한 것처럼 제품 슬러그를 검색할 필요는 없습니다. 반드시 다음과 같이 해야 합니다.설치 설계에 따라 한 가지 변수 제품 집합을 다른 것과 구별할 수 있는 다른 변수가 있습니다.그러나 기본적으로 제품 변형에 대한 제품 슬러그는 속성 항을 결합합니다.따라서 제품이 "테스트 제품"이고 "빅"과 "스몰" 두 가지 크기와 "블랙"과 "화이트" 두 가지 색상이 있고 다양한 제품을 만들 수 있으며 가격이 책정되어(필요한 경우) 제품 슬러그 형식을 사용할 수 있습니다.test-product-big-black그리고.test-product-big-white, 그래서 이것은 속성에 초점을 맞춘, 당신이 원하는 것을 대략적으로 달성하기 위한 건전한 방법처럼 보입니다.

그러나 이 방법은 완벽한 방법은 아닙니다. 속성 이름이 항목 제목에 나타나면 "테스트 블랙 제품"이라는 제목의 제품에 대해 때때로 중복될 가능성이 있습니다.이 문제를 프로그래밍 방식으로 해결하는 방법은 분명 더 복잡한 질문입니다.제가 여기서 제공한 기능은 여전히 일반적인 개념을 보여줍니다.

에 관해서는$new_image_id_number, 다양한 방법으로 할 수 있기 때문에 열어두었습니다.예를 들어, 미디어 라이브러리에서 사용할 이미지 위에 마우스를 올려 놓으면 첨부 파일 ID를 찾을 수 있습니다.또는 사이트 옵션(이전 방식 또는 Advanced Custom Fields Pro 사용 가능)을 만들고 이미지 업로드에서 ID를 추출할 수도 있습니다.

어쨌든, 이 작업 해결책은 꽤 간단합니다.필터 후크는 abstract-wc-data.php...의 보호된 기능을 기반으로 합니다.

$value = apply_filters( $this->get_hook_prefix() . $prop, $value, $this );

된 이 에는...이 경우에는 "hook 접두사"로 구성됩니다.woocommerce_product_variation_, 그리고 이 사건에서 문제가 된 재산.image_id.

(제품 변형 클래스를 보고 여기에 적용되지 않는 특정한 경우에 대해 기능이 필수적으로 중복되는 유사한 구조의 필터를 발견했을 때 처음에는 혼란스러웠습니다.)

언급URL : https://stackoverflow.com/questions/61038707/woocommerce-variable-product-assign-same-image-to-attribute-x-out-of-y-per

반응형