우커머스에서 가격이 '0원'인 상품을 '무료'로 표시하는 방법

Last Updated: 2017년 11월 02일 4개 댓글

워드프레스 우커머스 쇼핑몰에서 가격이 '0원'인 상품의 가격을 '무료'로 표시하는 방법

워드프레스에서 우커머스를 설치하여 쇼핑몰을 운영하는 경우, 가격이 0원인 상품의 가격을 '무료' 혹은 비슷한 다른 문구로 표시하는 것을 생각해볼 수 있습니다.

이 경우 다음 코드를 사용 중인 워드프레스의 테마 함수 파일(가급적 차일드 테마를 만들고 차일드 테마의 함수 파일)에 추가하면 가격이 '0원' 혹은 '0달러'인 제품의 가격에 '0원' 대신 '무료'라는 문구가 표시됩니다.

add_filter('woocommerce_get_price_html', 'changeFreePriceNotice', 10, 2);
function changeFreePriceNotice($price, $product) {
if ( $price == wc_price( 0.00 ) )
return '무료';
else
return $price;
}
// Source: codemyownroad.com

위의 코드를 아바다의 Modern Shop 데모에서 테스트해보니 잘 작동하네요.

결제 페이지에서는 가격이 '0원'으로 표시됩니다.

사용하는 테마에 따라 제공되는 후크(액션/필터)가 있을 수 있습니다.

Enfold 테마에서는 다음 코드를 사용해볼 수 있습니다(실제로 테스트는 안 해 보았습니다).

function avf_woocommerce_free_price_html( $price, $instance ) {
$price = '<span class="amount">무료</span>';
return $price;
};

add_filter( 'woocommerce_free_price_html', 'avf_woocommerce_free_price_html', 10, 2 );

만약 위의 코드가 제대로 작동하지 않으면 다음과 같은 코드도 시도해볼 수 있습니다.

add_filter('woocommerce_empty_price_html', 'custom_call_for_price');

function custom_call_for_price() {
return '무료';
}
// Source: https://gist.github.com/mikejolley/1597957

테마에 따라 제대로 작동하지 않을 수도 있습니다.

참고:


4 개 댓글

Leave a Comment

  1. 아바다테마 한국원화에서는 저게 먹히는데 미국달러에서는 안먹는데 어떻게해야할까요? 참고로 통화 2개사용중입니다.

    응답