WooCommerce: Bestätigen Sie benutzerdefinierte Felder auf der Bearbeitungsseite von „Mein Konto“.

Lesezeit: 1 Minute

Benutzer-Avatar
sgr12

Ich habe benutzerdefinierte Felder zu meiner WooCommerce-Registrierung hinzugefügt dieser Prozess. Ich habe sie mithilfe dieser Aktionen auf der Bearbeitungsseite von „Mein Konto“ verfügbar gemacht:

// 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' );

Dazwischen muss ich diese Felder beim Bearbeiten validieren. Ich habe versucht, die zu verwenden woocommerce_process_myaccount_field_ Filter (wie hier erwähnt), aber das hat nicht funktioniert. Der darin enthaltene Code wird nicht ausgelöst, wenn ich die Änderungen speichere.

Irgendwelche Ideen, wie ich validieren kann?
Verwende ich den richtigen Filter?
Wenn ja, warum löst es nicht aus?

Vielen Dank.

Sie könnten versuchen, einen dieser 2 Hooks zum Validieren benutzerdefinierter Felder zu verwenden.

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' ),'');
    }
}

  • Vielleicht sollte dies zu einem Filter woocommerce_save_account_details_errors hinzugefügt werden und in allen Fällen $args zurückgeben?

    – Q-Studio

    30. November 2021 um 18:47 Uhr

1144620cookie-checkWooCommerce: Bestätigen Sie benutzerdefinierte Felder auf der Bearbeitungsseite von „Mein Konto“.

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy