[WORDPRESS] 사용자가 이미 WooCommerce에서 현재 제품을 구입 한 경우 사용자 정의 텍스트를 표시합니다.
WORDPRESS사용자가 이미 WooCommerce에서 현재 제품을 구입 한 경우 사용자 정의 텍스트를 표시합니다.
해결법
-
1.완전한 상태가있는 주문 만 대상으로 만 사용하려면 WC_CUSTOMER_BUGLAGE_Product () 소스 코드를 기반으로 다음 사용자 정의 조건 기능을 사용할 수 있습니다.
완전한 상태가있는 주문 만 대상으로 만 사용하려면 WC_CUSTOMER_BUGLAGE_Product () 소스 코드를 기반으로 다음 사용자 정의 조건 기능을 사용할 수 있습니다.
// Utility function to check if a customer has bought a product (Order with "completed" status only) function customer_has_bought_product( $product_id, $user_id = 0 ) { global $wpdb; $customer_id = $user_id == 0 || $user_id == '' ? get_current_user_id() : $user_id; $status = 'wc-completed'; if( ! $customer_id ) return false; // Count the number of products $count = $wpdb->get_var( " SELECT COUNT(woim.meta_value) FROM {$wpdb->prefix}posts AS p INNER JOIN {$wpdb->prefix}postmeta AS pm ON p.ID = pm.post_id INNER JOIN {$wpdb->prefix}woocommerce_order_items AS woi ON p.ID = woi.order_id INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS woim ON woi.order_item_id = woim.order_item_id WHERE p.post_status = '$status' AND pm.meta_key = '_customer_user' AND pm.meta_value = $customer_id AND woim.meta_key IN ('_product_id','_variation_id') AND woim.meta_value = $product_id " ); // Return a boolean value if count is higher than 0 return $count > 0 ? true : false; } add_action( 'woocommerce_before_single_product_summary', 'woo_review_discount_message'); function woo_review_discount_message() { global $product; if ( customer_has_bought_product( $product->get_id() ) && ! $product->is_type('variable') ) { $user = wp_get_current_user(); echo '<div class="user-bought"><span style="color:#CA364D;font-weight:bold;font-size:18px;"><i class="wishlist-icon icon-heart-o"></i></span> Hi ' . $user->first_name . '! Please write a review below.</a></div>'; } }
코드는 Active Child Theme (또는 활성 테마)의 function.php 파일입니다. 테스트하고 작동합니다.
고객이 로그인하지 않은 경우 아무 것도 표시되지 않습니다.
from https://stackoverflow.com/questions/53048413/display-a-custom-text-if-user-has-already-bought-the-current-product-in-woocomme by cc-by-sa and MIT license
'WORDPRESS' 카테고리의 다른 글
[WORDPRESS] WooCommerce 오류 메시지를 추가하거나 제거하십시오 (0) | 2020.11.22 |
---|---|
[WORDPRESS] WordPress 사용자 정의 분류 페이지에 표시되지 않는 ACF 필드 (0) | 2020.11.22 |
[WORDPRESS] 사이드 바 페이지 변경시 열려 있습니다 (0) | 2020.11.22 |
[WORDPRESS] WooCommerce 제품 카테고리를 기반으로 특정 장바구니 항목 수량 필드 비활성화 (0) | 2020.11.22 |
[WORDPRESS] htaccess를 수정하여 봇을 차단합니다 (0) | 2020.11.22 |