在Woocommerce“我的帐户”页面

时间:2016-02-06 22:47:12

标签: html5

我已成功使用woocommerce_edit_account_form和woocommerce_save_account_details连接到“我的帐户”页面,这似乎工作正常。

唯一的问题是我有一个手机号码字段需要验证到10位数(如果选中了移动通知复选框),我似乎无法确切知道如何以及在何处添加代码

Wordpress对我来说很新,但我有PHP编码经验。我做了几次谷歌搜索,看起来像woocommerce_save_account_details_errors是我需要的钩子,但我找不到任何具有正确语法的特定样本才能使它工作。

我试了这个没有运气(保存页面没有错误信息):

function my_woocommerce_save_account_details_errors( $user_id ) {

if ( isset( $_POST['mobile_number'] ) )
 {
     if(strlen($_POST['mobile_number'])<6 )
     $args->add( 'error', __( 'Your mobile number must be exactly 10 digits long (5551112222)', 'woocommerce' ),'');
  } 

}

任何帮助将不胜感激, -ben

1 个答案:

答案 0 :(得分:1)

尝试使用以下代码调整您的代码:

add_action( 'woocommerce_save_account_details_errors','wdm_validate_custom_field',  10,2 );


function wdm_validate_custom_field(&$args, &$user)
{
    checkFieldEmpty('your_field', 'Label_of_the_Field');

}

function checkFieldEmpty($field_name, $field_label){
     if ( empty( $_POST[$field_name] ) )
    {
        wc_add_notice( '<strong>' . esc_html( $field_label ) . '</strong> ' . __( 'is a required field.', 'woocommerce' ), 'error' ); 
    }

}