2016-06-14 2 views
1

WooCommerce 통지를 사용자 정의하려고합니다. 이 정보가 도움이 대답 WooCommerce Notice Messages, how do I edit them?을 바탕으로 add_filter 후크를 사용하여 WooCommerce 알림 사용자 정의

wc_add_notice(sprintf(__('%s has been removed from your cart because it can no longer be purchased. Please contact us if you need assistance.', 'woocommerce'), $_product->get_title()), 'error') 

, 나는이 함께했다 : 이것은 내가 대체하려고 통지입니다

function my_woocommerce_membership_notice($error) { 
    if ('%s has been removed from your cart because it can no longer be purchased. Please contact us if you need assistance.' == $error) { 
     $error = '%s has been removed from your cart because you added a membership product. Please complete the membership purchase first.'; 
    } 
    return $error; 
} 

add_filter('woocommerce_add_error', 'my_woocommerce_membership_notice'); 

이 HTTP500 오류가 발생하고 난 알아낼 수 없습니다 왜 정확히.

감사합니다. 인터넷에서이 질문에 대한 검색

답변

2

,

이 오류 메시지가 보면 라인 (238)

includes/class-wc-cart.php에 설정되어 ... 많은 사람들이 비슷한 일을 사용하려고 심각한 유사한 오류 문제가 나타납니다 includes/wc-notice-functions.php의 WC 버전 2.6 소스 코드에서 wc_add_notice()$message$notice_type의 두 변수를 처리합니다. 그래서 여기 $ 메시지 변수에 대한

우리가 대신 만의
sprintf(__('%s has been removed from your cart because it can no longer be purchased. Please contact us if you need assistance.', 'woocommerce'), $_product->get_title())
을 :
'%s has been removed from your cart because it can no longer be purchased. Please contact us if you need assistance.'

%s$_product->get_title() 값으로 대체 할 수 sprintf() 사용하는 문자열 변수입니다. 하지만 더 이상 %s을 사용할 수 없습니다.
이것은 오류 문제의 원인 일 수 있습니다. '%s has been… 대신 'An item has been…을 시도하십시오.

function my_woocommerce_membership_notice($message) { 
    if (strpos($message,'has been removed from your cart because it can no longer be purchased') !== false) { 
     $message = 'An item has been removed from your cart because you added a membership product. Please complete the membership purchase first.'; 
    } 
    return $message; 
} 
add_filter('woocommerce_add_error', 'my_woocommerce_membership_notice'); 
:

가 그런 조건 내 strpos() PHP 함수를 사용 this thread에 따라, 나는 어떤 보증없이이 코드를 컴파일

관련 문제