programing

WooCommerce를 통해 등록할 때 전체 이메일 주소를 사용자 이름으로 설정

instargram 2023. 10. 14. 09:32
반응형

WooCommerce를 통해 등록할 때 전체 이메일 주소를 사용자 이름으로 설정

Settings/Account 아래의 WooCommerce에 다음과 같은 옵션이 있습니다.

고객 이메일에서 사용자 이름 자동 생성

그러나 이것이 생성하는 사용자 이름은 전체 이메일 주소가 아닙니다.

my.email@example.com

된다myemail사용자 이름으로

전체 전자 메일이 사용자 이름으로 설정되도록 사용자 생성을 재정의하려면 어떤 방법으로 연결해야 합니까?

이와 같은 것을 당신의 기능에 사용할 수 있습니다. php. 더woocommerce_new_customer_username필터를 사용하여 생성된 사용자 이름을 변경할 수 있습니다.고객 이메일을 사용자 이름으로 반환하는 경우 생성된 이메일 대신 사용됩니다(@ 앞의 이름인 경우).

function my_new_customer_username( $username, $email, $new_user_args, $suffix ) {
    return $email;
}
add_filter( 'woocommerce_new_customer_username', 'my_new_customer_username', 10, 4 );

후크를 사용하기만 하면 됩니다.pre_user_login

add_filter( 'pre_user_login' , 'wpso_same_user_email' );

function wpso_same_user_email( $user_login ) {

    if( isset($_POST['billing_email'] ) ) {
        $user_login = $_POST['billing_email'];
    }
    if( isset($_POST['email'] ) ) {
        $user_login = $_POST['email'];
    }
    return $user_login;
}

오래된 스레드를 복구해서 미안하지만 이것이 최선의 선택인 것 같습니다(자녀 기능에 적용됩니다).php 또는 사용자 지정 플러그인)

add_filter( 'woocommerce_new_customer_data', function( $data ) {
    $data['user_login'] = $data['user_email'];
    return $data;
    } );

다음은 2가지 소스 참조입니다: 12.

언급URL : https://stackoverflow.com/questions/39338680/set-full-email-address-as-username-when-registering-through-woocommerce

반응형