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

워드프레스 우커머스 쇼핑몰에서 가격이 '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원'인 상품을 '무료'로 표시하는 방법 3

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

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

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

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개 댓글

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

    1. 안녕하세요? 다음 글에서 소개하는 다중 통화 플러그인을 사용할 경우 한국어 사용자는 원화로, 미국 사용자는 미국 달러화로 결제가 가능한지 확인해보겠어요? 먼저 플러그인 개발자에게 문의해보며 좋을 것 같습니다.

      https://www.thewordcracker.com/basic/%EC%9A%B0%EC%BB%A4%EB%A8%B8%EC%8A%A4-%EB%8B%A4%EC%A4%91-%ED%86%B5%ED%99%94-%EB%B3%80%ED%99%98-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-yith-multi-currency-switcher/

      https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EC%9A%B0%EC%BB%A4%EB%A8%B8%EC%8A%A4-%ED%86%B5%ED%99%94-%EC%A0%84%ED%99%98%EA%B8%B0-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8/

    1. 안녕하세요, 소라토파파님.

      몇 가지 방법을 고려해볼 수 있을 것 같습니다.

      1) YITH의 견적 요청 플러그인(YITH WooCommerce Request A Quote)을 사용하여 사용자가 견적 요청 폼으로 신청하도록 할 수 있을 것 같습니다.
      무료와 유료 플러그인이 있으므로 원하는 기능을 제공하는지 체크해보시기 바랍니다.

      2) 다른 방법으로 상품을 외부/연계 상품으로 지정하고 상품 URL에 신청폼 URL을 지정할 수 있을 것입니다.
      https://www.thewordcracker.com/intermediate/%EC%9A%B0%EC%BB%A4%EB%A8%B8%EC%8A%A4%EC%97%90%EC%84%9C-%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88-url%EC%9D%84-%EC%99%B8%EB%B6%80-%EC%A3%BC%EC%86%8C%EB%A1%9C-%EC%A7%80%EC%A0%95%ED%95%98%EA%B8%B0/

      이 방법을 이용할 경우 문제는 어느 상품에 대한 문의인지 알 수 없을 수 있는데요.
      Quform이나 Gravity Forms 같은 플러그인을 사용하여 신청서 폼을 만들 경우 상품 이름이나 필요한 데이터를 파라미터로 받을 수 있습니다.
      https://www.thewordcracker.com/intermediate/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-quform-%EC%BB%A8%ED%83%9D%ED%8A%B8-%ED%8F%BC%EC%97%90%EC%84%9C-url%EB%A1%9C-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EC%A0%84%EB%8B%AC/

      또한, 신청서 폼에서 동적으로 유입 URL을 체크하여 숨김 필드로 전달하는 옵션도 제공합니다.

      https://www.thewordcracker.com/intermediate/%EB%AC%B8%EC%9D%98%ED%8F%BC%EC%97%90%EC%84%9C-%EA%B8%80-%EC%A0%9C%EB%AA%A9-%EB%93%B1%EC%9D%98-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EC%A0%84%EB%8B%AC%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95/

      이외에도 방법이 있을 것도 같지만, 생각나는 방법은 위의 두 가지네요. 첫 번째 방법이 간단할 것 같고, Gravity Forms 같은 플러그인이 있다면 두 번째 방법도 고려해볼 수 있을 것입니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.