옵션형(Variable) 상품의 경우 상품 페이지에서의 추천상품으로는 Up-sell, Cross-sell 에 지정한 상품들이 잘 연동되어 출력이 되지만,
장바구니나 결제 페이지에서는 상품의 옵션(variation)이 기준이 되기 때문에 상품에서 지정한 Up-sell, Cross-sell 이 연동되지 않는다.
이러한 경우 상품의 옵션별로 추천상품을 선택하여 적용할 수 있는 플러그인도 있다지만, 대부분의 경우에는 상품의 옵션별로 추천하는 상품이 달라지지 않는다.
이 경우 옵션(variation)이 아닌 해당 상품에 대한 추천 상품을 연동해 주는 것이 필요하다.
Up-sell 에 대한 적용은 아래 코드를 테마의 functions.php 파일에 추가 해 주면 된다.
add_filter( 'woocommerce_product_variation_get_upsell_ids', 'danbi_wc_variation_get_upsell_ids'], 10, 2 ); function danbi_wc_variation_get_upsell_ids($value, $product) { $product_id = $product->is_type('variation') ? $product->get_parent_id() : false; if ( $product_id ) { $parent = wc_get_product($product_id); $value = $parent->get_upsell_ids(); } return $value; }
추가로 Cross-sell 에도 적용하려면 아래 코드를 테마의 functions.php 파일에 추가 해 주면 된다.
add_filter( 'woocommerce_product_variation_get_cross_sell_ids', 'danbi_wc_variation_get_cross_sell_ids'], 10, 2 ); function danbi_wc_variation_get_cross_sell_ids($value, $product) { $product_id = $product->is_type('variation') ? $product->get_parent_id() : false; if ( $product_id ) { $parent = wc_get_product($product_id); $value = $parent->get_cross_sell_ids(); } return $value; }
0개의 댓글