gpt4 book ai didi

php - 如何在 WooCommerce 中仅使用电子邮件和密码登录

转载 作者:行者123 更新时间:2023-12-04 13:23:52 25 4
gpt4 key购买 nike

插件名称:WooCommerce

插件\woocommerce\templates\global\form-login.php

<label for="username"><?php _e( 'Email', 'woocommerce' ); ?> <span class="required">*</span></label>

它显示电子邮件而不是我想要的用户名或电子邮件

包含\class-wc-form-handler.php

if ( empty( $username ) ) {
throw new Exception( '<strong>' . __( 'Error:', 'woocommerce' ) . '</strong> ' . __( 'Email is required.', 'woocommerce' ) );
}

它显示电子邮件验证正确但它也使用用户名登录

我希望它在结帐前仅使用电子邮件和密码登录

最佳答案

If you look closely at wp-content/plugins/woocommerce/includes/class-wc-form-handler.php at line num 878 there is a filter woocommerce_process_login_errors, which accepts validations error, username and password. So you can overwrite this by this filter help.

代码如下:

// define the woocommerce_process_login_errors callback 
function filter_woocommerce_process_login_errors($validation_error, $post_username, $post_password)
{
//if (strpos($post_username, '@') == FALSE)
if (!filter_var($post_username, FILTER_VALIDATE_EMAIL)) //<--recommend option
{
throw new Exception( '<strong>' . __( 'Error', 'woocommerce' ) . ':</strong> ' . __( 'Please Enter a Valid Email ID.', 'woocommerce' ) );
}
return $validation_error;
}

// add the filter
add_filter('woocommerce_process_login_errors', 'filter_woocommerce_process_login_errors', 10, 3);

代码进入 functions.php您活跃的子主题(或主题)的文件。或者也可以在任何插件 php 文件中。
代码已经过测试并可以正常工作。 在 WooCommerce 2.6.X 中

希望这对您有所帮助!

关于php - 如何在 WooCommerce 中仅使用电子邮件和密码登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43630347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com