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...
스타일 값당 사진이 1 개 있다고 가정 해 보겠습니다. 또한 총 500 개의 변형이 있다고 가정 해 보겠습니다 (중첩되는 트리플 속성으로 인해).
"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 ;
}
이제 여기에서 한 것처럼 제품 슬러그를 검색 할 필요가 없습니다. 부분적으로 설치 설계에 따라 하나의 변수 제품 세트를 다른 세트와 구별 할 수있는 다른 변수가 있습니다. 그러나 기본적으로 제품 변형에 대한 제품 슬러그는 속성 용어를 결합합니다. 따라서 귀하의 제품이 "테스트 제품"인 경우; "Big"과 "Small"의 두 가지 크기와 "Black"과 "White"의 두 가지 색상이 있습니다. 변형을 생성 할 수 있습니다. 변형은 가격이 책정되며 (필수), 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 );
... 이것은 "후크 접두사"(이 경우 woocommerce_product_variation_
)와 해당 속성 (이 경우)에서 구성 image_id
됩니다.
(제품 변형 클래스를 볼 때 여기에 적용되지 않는 특정 경우의 기능을 본질적으로 복제하는 유사한 구조의 필터를 발견했을 때 처음에는 혼란 스러웠습니다.)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다