php - 更改 my-account/lost-password/page 上的 Woocommerce 丢失密码文本,无需模板覆盖

标签 php wordpress woocommerce

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; 
}}

这可以工作,但会弄乱登录页面 - 请参阅下面的屏幕截图 Messed up login page

如有任何帮助,我们将不胜感激。谢谢

最佳答案

现有代码有效地将每个可翻译字符串转换为空结果,留下您所看到的大部分为空白的页面内容。与此更接近的东西应该可以工作:

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/

相关文章:

php - 设置 session 以抓取页面

php - <选择> 默认值

jquery - Select2 文本框宽度异常

javascript - 如果页面等于 X 并且购物车商品数量等于 Y,则在 Woocommerce 上运行 Javascript

php - WooCommerce Rest API 返回 404 未找到

php - 使用 PHP QrCode 生成二​​维码

php - 在 cakephp 中向模型添加自定义函数

JavaScript 不在外部域上执行

WordPress WP_Query 通配符位于 "key"

php - 在 Woocommerce 中的评论之前移动相关产品部分