[WORDPRESS] 단지 Woocommerce에서 특정 제품에 대한 설정 카트 항목 제품 생성 판매 가격
WORDPRESS단지 Woocommerce에서 특정 제품에 대한 설정 카트 항목 제품 생성 판매 가격
해결법
-
1.특정 제품 ID에 대한 장바구니 항목의 오른쪽 생성 된 판매 가격을 얻으려면 다음을 수행하십시오 :
특정 제품 ID에 대한 장바구니 항목의 오른쪽 생성 된 판매 가격을 얻으려면 다음을 수행하십시오 :
// HERE below in the array set your specific product IDs function specific_product_ids(){ return array(37, 41); // <=== <=== <=== <=== Your Product IDs } // Generating dynamically the product "regular price" add_filter( 'woocommerce_product_get_regular_price', 'custom_dynamic_regular_price', 10, 2 ); add_filter( 'woocommerce_product_variation_get_regular_price', 'custom_dynamic_regular_price', 10, 2 ); function custom_dynamic_regular_price( $regular_price, $product ) { if( ( empty($regular_price) || $regular_price == 0 ) && in_array($product->get_id(), specific_product_ids() ) ) return $product->get_price(); else return $regular_price; } // Generating dynamically the product "sale price" add_filter( 'woocommerce_product_get_sale_price', 'custom_dynamic_sale_price', 10, 2 ); add_filter( 'woocommerce_product_variation_get_sale_price', 'custom_dynamic_sale_price', 10, 2 ); function custom_dynamic_sale_price( $sale_price, $product ) { $rate = 0.8; if( ( empty($regular_price) || $regular_price == 0 ) && in_array($product->get_id(), specific_product_ids() ) ) return $product->get_regular_price() * $rate; else return $sale_price; }; // Displayed formatted regular price + sale price add_filter( 'woocommerce_get_price_html', 'custom_dynamic_sale_price_html', 20, 2 ); function custom_dynamic_sale_price_html( $price_html, $product ) { if( $product->is_type('variable') ) return $price_html; if( in_array($product->get_id(), specific_product_ids() ) ) { $price_html = wc_format_sale_price( wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ), wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) ) ) . $product->get_price_suffix(); } return $price_html; } // Set cart item generated "sale price" for specific product IDs add_action( 'woocommerce_before_calculate_totals', 'set_cart_item_sale_price', 10, 1 ); function set_cart_item_sale_price( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; // Iterate through each cart item foreach( $cart->get_cart() as $cart_item ) { if( in_array($cart_item['data']->get_id(), specific_product_ids() ) ) { $price = $cart_item['data']->get_sale_price(); // get sale price $cart_item['data']->set_price( $price ); // Set the sale price } } }
코드 활성 자식 테마 (활성 테마)의 function.php 파일에 간다. 테스트 및 작동합니다.
from https://stackoverflow.com/questions/52563301/set-cart-item-product-generated-sale-price-only-for-specific-products-in-woocomm by cc-by-sa and MIT license
'WORDPRESS' 카테고리의 다른 글
[WORDPRESS] DB에 UI를 jQuery - 정렬 위치를 저장 (0) | 2020.11.16 |
---|---|
[WORDPRESS] 사용자 정의 개발 스크롤의 성능 향상 (0) | 2020.11.16 |
[WORDPRESS] 어떻게 워드 프레스 사용자 정의 플러그인의 추가 페이지를 사용하려면? (0) | 2020.11.16 |
[WORDPRESS] HTTPS로 HTTP 양식 워드 프레스를 이동하는 방법 (0) | 2020.11.16 |
[WORDPRESS] WooCommerce 변수 제품 선택의 변화 재고 상태 이름? (0) | 2020.11.16 |