<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[특정상품을 각 회원ID당 한번씩만 구매할 수 있게 중복구매방지 설정하는 방법]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/53741</link>
		<description><![CDATA[<p>안녕하세요~ 우커머스 기능을 사용중입니다.</p>

<p>특정상품을 회원ID당 한번씩만 구매할 수 있게 중복구매방지 설정하는 방법이 있을까요? </p>

<p> </p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안내해주신 코드를 삭제했지만 적용은 되지않았습니다.ㅜ

의뢰를 고려해보겠습니다. 도움 감사했습니다~ ]]></title>
			<link>https://www.cosmosfarm.com/threads/document/53772</link>
			<description><![CDATA[<p>안내해주신 코드를 삭제했지만 적용은 되지않았습니다.ㅜ</p>

<p>의뢰를 고려해보겠습니다. 도움 감사했습니다~ </p>]]></description>
			<author>워드프레스웹사이트 </author>
			<pubDate>Wed, 30 Jun 2021 07:25:01 +0000</pubDate>
			<category>우커머스(WooCommerce)</category>
		</item>
				<item>
			<title><![CDATA[이전 댓글에 안내해드린 코드 중

아래의 코드는 지워보세요.


echo $no_repeats_id;
var_dump(wc_cust...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/53762</link>
			<description><![CDATA[<p>이전 댓글에 안내해드린 코드 중</p>

<p>아래의 코드는 지워보세요.</p>

<pre>
<code class="language-php">echo $no_repeats_id;
var_dump(wc_customer_bought_product( wp_get_current_user()-&gt;user_email, get_current_user_id(), $no_repeats_id ));</code></pre>

<p> </p>

<p>wc_customer_bought_product 함수의 결과가 false로 표시된다면</p>

<p>이미 구매한 적이 없거나 주문 상태가 처리중 또는 완료됨으로 적용되지 않은 듯합니다.</p>

<p>확인해보시겠어요?</p>

<p> </p>

<p>그리고 커뮤니티에서는 100% 해결을 보장해드리긴 어렵습니다.</p>

<p>직접 코드를 수정하기 어려우신 상황이라면</p>

<p>적절한 비용을 지불하고 전문 업체 혹은 개발자에게 의뢰를 하셔야 합니다.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Wed, 30 Jun 2021 05:13:55 +0000</pubDate>
			<category>우커머스(WooCommerce)</category>
		</item>
				<item>
			<title><![CDATA[

수정해주신 코드를 넣었는데 작동하지않습니다ㅜ

위 이미지처럼 false를 반환하는 거 같긴한데 그냥 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/53759</link>
			<description><![CDATA[<p><img alt="" src="https://i.imgur.com/4GkiGrt.png" /></p>

<p>수정해주신 코드를 넣었는데 작동하지않습니다ㅜ</p>

<p>위 이미지처럼 false를 반환하는 거 같긴한데 그냥 결제로 넘어갑니다. </p>]]></description>
			<author>워드프레스웹사이트 </author>
			<pubDate>Wed, 30 Jun 2021 01:05:56 +0000</pubDate>
			<category>우커머스(WooCommerce)</category>
		</item>
				<item>
			<title><![CDATA[이전 댓글에 안내해드린 링크의 코드는 오래된 버전의 코드인 듯합니다.

아래의 코드로 교체해서 확인...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/53758</link>
			<description><![CDATA[<p>이전 댓글에 안내해드린 링크의 코드는 오래된 버전의 코드인 듯합니다.</p>

<p>아래의 코드로 교체해서 확인해보시겠어요?</p>

<pre>
<code class="language-php">/* 특정상품 중복 구매 금지 */
function sv_disable_repeat_purchase( $purchasable, $product ) {
	/* 중복 구매를 금지할 상품의 ID */
	$non_purchasable = 17132;
	
	/* 현재 상품의 ID 체크 */
	$product_id = $product-&gt;is_type( 'variation' ) ? $product-&gt;variation_id : $product-&gt;get_id();
	/* 중복 구매 금지 상품의 ID와 일치하지 않는 경우 */
	if ( $non_purchasable != $product_id ) {
		return $purchasable;
	}
	/* 고객이 상품을 이전에 구매한 경우 False 반환 */
	if ( wc_customer_bought_product( wp_get_current_user()-&gt;user_email, get_current_user_id(), $product_id ) ) {
		$purchasable = false;
	}
	/* 옵션 더블 체크: 상위 상품이 구매 불가능한 경우 옵션도 구매 불가능 */
	if ( $purchasable &amp;&amp; $product-&gt;is_type( 'variation' ) ) {
		$purchasable = $product-&gt;parent-&gt;is_purchasable();
	}
	
	return $purchasable;
}
add_filter( 'woocommerce_variation_is_purchasable', 'sv_disable_repeat_purchase', 10, 2 );
add_filter( 'woocommerce_is_purchasable', 'sv_disable_repeat_purchase', 10, 2 );

/* 중복구매 불가능 메세지 띄우기 */
function sv_purchase_disabled_message() {
	/* 중복 구매 금지 상품의 ID 입력 */
	$no_repeats_id = 17132;
	$no_repeats_product = wc_get_product( $no_repeats_id );
	
	/* 구매가 불가능한지를 체크하기 위해 현재 상품 정보를 가져옴 */
	global $product;
	if ( $no_repeats_product-&gt;is_type( 'variation' ) ) {
		/* 현재 상품 페이지가 구매 금지 상품의 상품 페이지가 아닌 경우 */
		if ( ! $no_repeats_product-&gt;parent-&gt;id === $product-&gt;get_id() ) {
			return;
		}
	} elseif ( $no_repeats_id === $product-&gt;get_id() ) {
		echo $no_repeats_id;
		var_dump(wc_customer_bought_product( wp_get_current_user()-&gt;user_email, get_current_user_id(), $no_repeats_id ));
		if ( wc_customer_bought_product( wp_get_current_user()-&gt;user_email, get_current_user_id(), $no_repeats_id ) ) {
			/* 고객에게 표시할 메시지 */
			echo '&lt;div class="woocommerce"&gt;&lt;div class="woocommerce-info wc-nonpurchasable-message"&gt;이 상품을 이미 구매하셨습니다. 이 상품은 한 번만 구매 가능합니다.&lt;/div&gt;&lt;/div&gt;';
		}
	}
}
add_action( 'woocommerce_single_product_summary', 'sv_purchase_disabled_message', 31 );</code></pre>

<p> </p>

<p>그리고 상황에 따라서는 코드가 더 추가될 수도 있습니다.</p>

<p>코드 수정이 어려우시다면</p>

<p>프로젝트 의뢰에 상세 내용을 올려보세요.</p>

<p><a href="https://www.cosmosfarm.com/project" target="_blank">https://www.cosmosfarm.com/project</a></p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Wed, 30 Jun 2021 00:33:08 +0000</pubDate>
			<category>우커머스(WooCommerce)</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요. 답변 감사합니다. 


/* 특정상품 중복 구매 금지 */
    function sv_disable_repeat_purc...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/53749</link>
			<description><![CDATA[<p>안녕하세요. 답변 감사합니다. </p>

<pre>
<code class="language-php">/* 특정상품 중복 구매 금지 */
    function sv_disable_repeat_purchase( $purchasable, $product ) {
        /* 중복 구매를 금지할 상품의 ID */
        $non_purchasable = 17132;

        /* 현재 상품의 ID 체크 */
        $product_id = $product-&gt;is_type( 'variation' ) ? $product-&gt;variation_id : $product-&gt;id;
        /* 중복 구매 금지 상품의 ID와 일치하지 않는 경우 */
        if ( $non_purchasable != $product_id ) {
            return $purchasable;
        }
        /* 고객이 상품을 이전에 구매한 경우 False 반환 */
        if ( wc_customer_bought_product( get_current_user()-&gt;user_email, get_current_user_id(), $product_id ) ) {
            $purchasable = false;
        }
        /* 옵션 더블 체크: 상위 상품이 구매 불가능한 경우 옵션도 구매 불가능 */
        if ( $purchasable &amp;&amp; $product-&gt;is_type( 'variation' ) ) {
            $purchasable = $product-&gt;parent-&gt;is_purchasable();
        }
        return $purchasable;
    }
    add_filter( 'woocommerce_variation_is_purchasable', 'sv_disable_repeat_purchase', 10, 2 );
    add_filter( 'woocommerce_is_purchasable', 'sv_disable_repeat_purchase', 10, 2 );

    /* 중복구매 불가능 메세지 띄우기 */
    function sv_purchase_disabled_message() {
        /* 중복 구매 금지 상품의 ID 입력 */
        $no_repeats_id = 17132;
        $no_repeats_product = wc_get_product( $no_repeats_id );

        /* 구매가 불가능한지를 체크하기 위해 현재 상품 정보를 가져옴 */
        global $product;
        if ( $no_repeats_product-&gt;is_type( 'variation' ) ) {
            /* 현재 상품 페이지가 구매 금지 상품의 상품 페이지가 아닌 경우 */
            if ( ! $no_repeats_product-&gt;parent-&gt;id === $product-&gt;id ) {
                return;
            }
            /* 구매 금지 상품 페이지에 있는 경우 메시지 출력 */
            if ( wc_customer_bought_product( get_current_user()-&gt;user_email, get_current_user_id(), $no_repeats_id ) ) {
                sv_render_variation_non_purchasable_message( $product, $no_repeats_id );
            }
        } elseif ( $no_repeats_id === $product-&gt;id ) {
            if ( wc_customer_bought_product( get_current_user()-&gt;user_email, get_current_user_id(), $no_repeats_id ) ) {
                /* 고객에게 표시할 메시지 */
                echo '&lt;div class="woocommerce"&gt;&lt;div class="woocommerce-info wc-nonpurchasable-message"&gt;이 상품을 이미 구매하셨습니다. 이 상품은 한 번만 구매 가능합니다.&lt;/div&gt;&lt;/div&gt;';
            }
        }
    }
    add_action( 'woocommerce_single_product_summary', 'sv_purchase_disabled_message', 31 );


</code></pre>

<p>관련링크를 참고해서 추가한 코드입니다. 수정한 부분은 상품 ID값 뿐인데 작동이 안되어서요. </p>

<p>혹시 아이디값을 제가 잘못 입력했을까요?ㅜㅜ 한번 확인부탁드립니다.</p>

<p>감사합니다. </p>]]></description>
			<author>워드프레스웹사이트 </author>
			<pubDate>Tue, 29 Jun 2021 07:35:18 +0000</pubDate>
			<category>우커머스(WooCommerce)</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

우커머스 플러그인에서 한 상품에 대해

하나의 수량만 구매할 수 있게 하시려면 우커머...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/53748</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p><a href="https://ko.wordpress.org/plugins/woocommerce/" target="_blank">우커머스</a> 플러그인에서 한 상품에 대해</p>

<p>하나의 수량만 구매할 수 있게 하시려면 우커머스의 개별 판매 기능을 이용해보시겠어요?</p>

<p>워드프레스 관리자 -&gt; 상품(Products) -&gt; 모든 상품(All Products) -&gt; 상품 선택 -&gt; 재고(Inventory) -&gt; 개별 판매(Sold individually) 설정을 체크해보시겠어요?</p>

<p> </p>

<p>만약, 구매 자체를 중복으로 불가능하게 하시는 거라면</p>

<p>아래 관련 링크 참고 부탁드립니다.</p>

<p><a href="https://www.thewordcracker.com/intermediate/prevent-repeat-purchase-in-woocommerce-in-wordpress/" target="_blank">https://www.thewordcracker.com/intermediate/prevent-repeat-purchase-in-woocommerce-in-wordpress/</a></p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 29 Jun 2021 07:03:47 +0000</pubDate>
			<category>우커머스(WooCommerce)</category>
		</item>
			</channel>
</rss>