2014-10-04 4 views
10

나는 WooCommerce가 WooCommerce에서 성공, 오류 또는주의 사항이있을 때 메시지를 작성하는 위치를 파악하려고합니다. 시나리오를보다 깔끔하게 맞게 편집하고 HTML을 편집하고 싶습니다. 이 메시지는 어디에 있으며 어떻게 편집합니까?WooCommerce 공지 메시지, 어떻게 편집합니까?

+0

오류가 많은 장소에 나타납니다 ...을 와? – rnevius

+0

이러한 오류 /주의 사항/성공 메시지가 모두 생성되는 곳은 어디에도 없습니까? – Majo0od

+0

아니요, 결제 프로세스, 장바구니, 관리자 등의 오류가 있습니다. 어떤 오류를 언급하고 있습니까? – rnevius

답변

9

많은 플러그인 파일에 직접적으로 - 불행하게도. 일부 메시지는 필터 파일에 연결되어있어 플러그인 파일을 망치지 않고 편집 할 수 있지만 항상 그런 것은 아닙니다.

변경하려는 메시지는 "제품 이름이 장바구니에 추가되었습니다."입니다. 이 중 하나는 화장실 카트-functions.php에서 함수 wc_add_to_cart_message 설정이 기능을 사용하면 필터를 사용하여 변경할 수있다 :

:

wc_add_notice(apply_filters('wc_add_to_cart_message', $message, $product_id)); 

그래서 functions.php 파일에 당신이 뭔가를 추가 할 수 있습니다를

+4

올바른,하지만'apply_filters' 대신에'add_filter'를 사용해야합니다. – Broshi

+0

그리고'add_filter ('filter', 'function', 10, 2)이어야합니다. ', ** 10 **는 우선 순위와 ** 2 ** 인자의 수 ('$ product_id'를 잡는 데 필요합니다. – brasofilo

8

열기 플러그인 파일과 wc_add_notice 검색 :

apply_filters('woocommerce_add_' . $notice_type, $message); 

$notice_type이 모든 사건에 전달 된 두 번째 인수는 다음과 같습니다

이 함수는 필터가 있습니다. 이 같은 일을해야 사용

: 그들 중

add_filter('woocommerce_add_error', function($message) { 
    if($message == 'Some message') 
     $message = ''; 

    return $message; 
}); 
+1

당신과 다른 누구보다도 관심있는 사람. includes 폴더에있는 wc-notice-functions.php 파일에서 통지 기능을 찾을 수 있습니다. – Majo0od

+0

"보기 장바구니 * 제품 이름 *이 장바구니에 성공적으로 추가되었습니다."와 같이 좀 더 동적으로 생성 된 메시지는 어떻습니까? – Majo0od

+0

테스트 할 수있는 설정이 없습니다. 필터에 도착한 메시지를 검사 해 보셨습니까? – brasofilo

2

여기에 언급 된 필터는 메시지 자체를 편집하는 데는 문제가 없지만 알림 메시지가 포함 된 실제 HTML 마크 업을 편집하려면 templates > notices 아래의 알림 템플릿을 사용해야합니다.

여기에는 세 가지 다른 파일이 있습니다. 각각 다른 종류의 고지 사항입니다. 필자의 경우, 성공적으로 적용된 쿠폰에 클래스를 추가하려고 했으므로 success.php을 내 테마 파일에 복사했습니다. 내 코드는 다음과 같습니다.

<?php foreach ($messages as $message) : ?> 
    <?php 
     $om_css_class = ""; 
     if ($message == "Coupon code applied successfully.") { 
      $om_css_class = "coupon-notice-msg"; 
     } 
    ?> 
    <div class="woocommerce-message <?php echo $om_css_class; ?>"><?php echo wp_kses_post($message); ?></div> 
<?php endforeach; ?> 
2

이 프로덕션 사이트를 통해 구현할 수있었습니다. 이 응답은 woocommerce 오류 코드주의 사항과 관련이 있습니다. 별도의 클래스 파일 (~ woocommerce/includes /)에서 코드를 찾아야합니다. 내 목적을 위해 코드에 있었다 ~ woocommerce/페이지/클래스 WC-coupon.php

/** 
* Modify the coupon errors: 
*/ 

add_filter('woocommerce_coupon_error', 'wpq_coupon_error', 10, 2); 

function wpq_coupon_error($err, $err_code) { 
    return ('103' == $err_code) ? '' : $err; 
} 

감사 포함 : 오류가 당신에게 관심을 http://wpquestions.com/WooCommerce_Remove_Coupon_code_already_applied_error_message/10598

관련 문제