编辑WooCommerce丢失密码错误消息

时间:2018-04-02 23:24:03

标签: woocommerce

WooCommerce Lost Password页面上有两条单独的错误消息:“输入用户名或电子邮件地址。”和“无效的用户名或电子邮件。”我该如何编辑?

2 个答案:

答案 0 :(得分:1)

这应该这样做。将其添加到当前主题的functions.php。

add_filter('woocommerce_add_error', 'change_email_error');
function change_email_error( $message ) {
    if ($message == 'Enter a username or email address.' ) {
        $message = 'Enter a username';
    }
    if ($message == 'Invalid username or email.' ) {
        $message = 'Invalid username';
    }
    return $message;
}

一点解释。您提到的那些错误消息由wc_add_notice调用,如下所示:

wc_add_notice( __( 'Enter a username or email address.', 'woocommerce' ), 'error' );
wc_add_notice( __( 'Invalid username or email.', 'woocommerce' ), 'error' );

wc_add_notice有两个参数:$message$notice_type。在此功能中,有一个用于更改消息的过滤器:$notices[ $notice_type ][] = apply_filters( 'woocommerce_add_' . $notice_type, $message );

答案 1 :(得分:0)

我们将不得不在functions.php中添加一个函数,然后检查当前操作是什么。

function login_message_example( $message ) {
$action = $_REQUEST['action'];

如果当前操作是lostpassword,我们希望代码返回自定义消息。

if( $action == 'lostpassword' ) {
            $message = '<p class="message">Enter your email address, then check your inbox for the "reset password" link!</p>';
            return $message;
        }

自定义消息存储在消息变量中,并返回此变量。我们只需添加一行:

add_filter( 'login_message', 'login_message_example' );

这将允许该功能运行。

完整代码:

function login_message_example( $message ) {
    $action = $_REQUEST['action'];
    if( $action == 'lostpassword' ) {
        $message = '<p class="message">Enter your email address, then check your inbox for the "reset password" link!</p>';
        return $message;
    }
    return;

    add_filter( 'login_message', 'login_message_example' );
}
祝你好运!