Woocommerce 丢失密码页面上的标准文本是:
丢失密码?请输入您的用户名或电子邮件地址。您将通过电子邮件收到一个用于创建新密码的链接。
标签是:
用户名或电子邮件
我用过Change label “username” to “account number” in WooCommerce registration对于登录页面,并尝试了下面的附加代码来获取丢失的密码页面
代码1 - 这没有影响
add_filter( 'gettext', 'change_lost_usename_label', 10, 3 );
function change_lost_usename_label( $translated, $text, $domain ) {
if( is_lost_password_page() && ! is_wc_endpoint_url() ) {
if( $text === 'username or' ) {
$translated = __( 'Registered', $domain );
}
}
return $translated;
}
代码2 -
add_filter('gettext', 'change_lost_password' );
function change_lost_password($translated) {
if( is_lost_password_page() ) {
$translated = str_ireplace('username or email', 'Registered email', $translated);
return $translated;
}}
如有任何帮助,我们将不胜感激。谢谢
最佳答案
现有代码有效地将每个可翻译字符串转换为空结果,留下您所看到的大部分为空白的页面内容。与此更接近的东西应该可以工作:
add_filter('gettext', 'change_lost_password' );
function change_lost_password($translated) {
if( is_lost_password_page() && 'Username or email' === $translated) {
return 'Registered email';
} else {
return $translated;
}
}
使用 gettext 过滤器进行翻译可能会稍微减慢您的网站速度,因为它们会针对每个可翻译字符串运行。因此,如果您遇到问题,您可能需要查看一些 WordPress 翻译插件。
编辑:以及用于更改说明文本的片段:
add_filter('woocommerce_lost_password_message', 'change_lost_password_message');
function change_lost_password_message() {
return 'Lost your password? Please enter your registered email address. You will receive a link to create a new password via email.';
}
关于php - 更改 my-account/lost-password/page 上的 Woocommerce 丢失密码文本,无需模板覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56255375/