[워드프레스] 우커머스 옵션 상품 페이지에 하나의 가격만 표시하는 방법

Last Updated: 2023년 09월 06일 | | 2개 댓글

워드프레스 우커머스 쇼핑몰에서 옵션 상품을 구성하면 상품 가격이 최저가와 최고가 사이의 범위로 표시됩니다. 상품 페이지에 하나의 가격만 표시하고 싶은 경우 아래의 방법을 이용할 수 있습니다.

아래의 코드가 잘 작동할 것으로 보이지만 이 글이 작성한 지 오래되어 최신 WooCommerce 버전에서 작동하지 않을 수도 있습니다. 다음 글에서 최신 버전에서 작동하는 코드를 확인할 수 있습니다.

우커머스 옵션 상품 페이지에 하나의 가격만 표시하는 방법

우커머스에서 옵션 상품을 구성하는 경우 상품 가격이 다음 그림과 같이 가격 범위(예: 900,000원~1,000,000원)로 표시됩니다.

Variable Price range

하지만 하나의 가격만 표시되도록 하고 싶은 경우가 있을 수 있습니다. 이런 경우 다음 코드를 사용하도록 합니다.

// WC 2.0 옵션 가격 포맷 사용. 할인가가 최소값으로 표시됨
add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
// Main Price
$prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
$price = $prices[0] !== $prices[1] ? sprintf( __( '할인가: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
// Sale Price
$prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) );
sort( $prices );
$saleprice = $prices[0] !== $prices[1] ? sprintf( __( '할인가: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

if ( $price !== $saleprice ) {
$price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>';
}
return $price;
}
// Source: stackoverflow

위의 코드를 사용 중인 워드프레스 테마의 함수 파일(functions.php)에 추가하도록 합니다. 그러면 다음 그림과 같이 가격이 표시됩니다. (위의 코드를 테마 함수 파일에 추가하는 방법은 이 글을 참고하세요.)

Variable Price - only one

옵션 가격 범위를 완전히 없애려면 다음 코드를 사용할 수 있습니다.

add_filter( 'woocommerce_variable_sale_price_html', 'bbloomer_remove_variation_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'bbloomer_remove_variation_price', 10, 2 );

function bbloomer_remove_variation_price( $price ) {
$price = '';
return $price;
}
// Source: businessbloomer.com

그러면 모든 곳에서 옵션 상품 범위가 표시되지 않습니다.

최소 가격만 표시하려면 다음 코드를 사용자 함수 파일에 추가해보시기 바랍니다.

function custom_variation_price( $price, $product ) {
$price = '';
if ( ! $product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) {
$price .= woocommerce_price( $product->get_price() );
}
return $price;
}
add_filter( 'woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
// Source: support.woothemes.com

최소 가격 또는 최대 가격만을 표시하는 방법은 이 글을 참고해보세요. (참고로 링크된 글의 코드를 사용해보니 잘 안 되는 경우도 있는 것 같습니다.)

옵션 상품을 구성하는 방법은 "우커머스 옵션 상품 설정하기" 글을 참고해보시기 바랍니다. 옵션 상품을 정교하게 구성하고자 하는 경우 WooCommerce Extra Product Options 플러그인을 사용할 수 있습니다(참고).

참고


2 개 댓글

Leave a Comment

할인 소식
Divi 레이아웃 AI 출시 기념 할인!
AI로 이미지, 텍스트, 코딩, 전체 페이지 레이아웃 생성 가능
베스트셀링 워드프레스 테마 Divi
0
0
시간
0
0
Limited Time Offer
You This Coupon Code in Checkout
Click the code to Copy