Pat*_*lug 6 php wordpress woocommerce
设置/帐户下的 WooCommerce 有一个名为的选项
从客户电子邮件自动生成用户名
但它生成的用户名不是完整的电子邮件地址。
my.email@example.com
成为myemail用户名。
我需要使用什么方法来覆盖用户生成,以便将 完整的电子邮件设置为用户名?
你可以在你的functions.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 );
Run Code Online (Sandbox Code Playgroud)
只需使用钩子即可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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5314 次 |
| 最近记录: |