WooCommerce Lost Password页面上有两条单独的错误消息:“输入用户名或电子邮件地址。”和“无效的用户名或电子邮件。”我该如何编辑?
答案 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' );
}
祝你好运!