2016-06-01 13 views
1

this process을 사용하여 WooCommerce 등록에 맞춤 입력란을 추가했습니다. 나는이 작업을 사용하여 내 계정의 편집 페이지에 그들을 제공했습니다 둘 사이에서WooCommerce : 내 계정의 수정 페이지에서 맞춤 입력란 유효성 검사

// added custom fields here 
add_action('woocommerce_edit_account_form', 'my_woocommerce_edit_account_form'); 

// saved user meta here 
add_action('woocommerce_save_account_details', 'my_woocommerce_save_account_details'); 

, 나는 편집이 필드를 검증 할 필요가있다. woocommerce_process_myaccount_field_ 필터 (as mentioned here)를 사용해 보았지만 작동하지 않았습니다. 변경 사항을 저장하면 코드가 실행되지 않습니다.

어떻게 유효성을 검사 할 수 있습니까?
올바른 필터를 사용하고 있습니까?
그렇다면 왜 작동하지 않습니까?

감사합니다.

+0

그들 중 어떤 사람이 당신을 위해 일 했습니까? 감사합니다 – LoicTheAztec

+1

이 하나 :'woocommerce_save_account_details_errors'. 왜 이것이 이것이 WooCommerce의 Hooks 웹 사이트에 없는지 궁금합니다. – sgr12

+0

네, ** hookr.io **에 있습니다 : [woocommerce는 계정 세부 정보 오류를 저장합니다] (http://hookr.io/actions/) woocommerce_save_account_details_errors /) 및 https://github.com/woothemes/woocommerce/blob/master/includes/class-wc-form-handler.php#L223 – LoicTheAztec

답변

4

사용자 정의 필드의 유효성을 검사하기 위해이 2 개의 후크 중 하나를 사용해 볼 수 있습니다.

add_action('user_profile_update_errors','wooc_validate_custom_field', 10, 1); 

// or 

add_action('woocommerce_save_account_details_errors','wooc_validate_custom_field', 10, 1); 

// with something like: 

function wooc_validate_custom_field($args) 
{ 
    if (isset($_POST['custom_field'])) // Your custom field 
    { 
     if(strlen($_POST['custom_field'])<4) // condition to be adapted 
     $args->add('error', __('Your error message', 'woocommerce'),''); 
    } 
}