【发布时间】:2018-04-02 23:24:02
【问题描述】:
WooCommerce 丢失密码页面上有两条单独的错误消息:“输入用户名或电子邮件地址。”和“无效的用户名或电子邮件”。我该如何编辑这些?
【问题讨论】:
标签: woocommerce
WooCommerce 丢失密码页面上有两条单独的错误消息:“输入用户名或电子邮件地址。”和“无效的用户名或电子邮件”。我该如何编辑这些?
【问题讨论】:
标签: woocommerce
应该这样做。将此添加到您当前主题的 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 );
【讨论】:
我们将不得不在functions.php中添加一个函数,然后检查当前操作是什么。
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;
}
自定义消息存储在消息变量中,并返回此变量。我们只需要添加一行:
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' );
}
祝你好运!
【讨论】: