WooCommerce:验证“我的帐户”编辑页面上的自定义字段
WooCommerce: Validate custom fields on My Account's edit page
我使用 this process 将自定义字段添加到我的 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),但没有用。当我保存更改时,其中的代码不会触发。
关于如何验证的任何想法?
我使用的过滤器是否正确?
如果是,为什么不触发?
谢谢。
您可以尝试使用这 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' ),'');
}
}
我使用 this process 将自定义字段添加到我的 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),但没有用。当我保存更改时,其中的代码不会触发。
关于如何验证的任何想法?
我使用的过滤器是否正确?
如果是,为什么不触发?
谢谢。
您可以尝试使用这 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' ),'');
}
}