WordPress 禁用密码找回邮件或修改该邮件内容

2022年6月13日09:58:55 发表评论
广告也精彩

WordPress 6.0 新增了两个和密码找回邮件相关的钩子:

WordPress 禁用密码找回邮件或修改该邮件内容

  • send_retrieve_password_email可用于过滤是否发送找回密码邮件
  • retrieve_password_notification_email可用于过滤发送给用户的重置密码通知邮件的内容。

为了与一些类似的过滤器(如send_password_change_email或 send_email_change_email)保持一致,并获得更大的灵活性,请将$user_login和$user_data参数直接传递给新的send_retrieve_password_email和retrieve_password_notification_email过滤器。

  1. apply_filters( 'send_retrieve_password_email', true, $user_login$user_data );
  1. apply_filters( 'retrieve_password_notification_email', $defaults$key$user_login$user_data );

禁用密码找回邮件

以下代码可以全局禁用发送密码找回邮件,也可以按照提示通过 $user_login, $user_data 两个参数来添加限制条件:

  1. function wpdax_disable_retrieve_password_email( $user_login$user_data ){
  2.     // 如果你希望符合某类条件的才禁止发送,那你可以通过 $user_login, $user_data 这两个参数来做判断
  3.     return false;
  4. }
  5. add_filter( 'send_retrieve_password_email', 'wpdax_disable_retrieve_password_email', 10, 2 );

修改密码找回邮件的内容

retrieve_password_notification_email 承接的 $defaults 内容包括邮件的收件人、标题、信息和Headers头部信息:

  1. $defaults = array(
  2.     'to'      => $user_email,
  3.     'subject' => $title,
  4.     'message' => $message,
  5.     'headers' => '',
  6. );

所以,retrieve_password_notification_email 是可以直接修改以上四项内容的。代码范例如下

  1. function wpdx_filter_retrieve_password_notification_email( $defaults$key$user_login$user_data ){
  2.     // 可以通过 $key, $user_login, $user_data 三个参数来获取和传递一些用户信息值
  3.     // 收件人邮箱 to 不能修改,否则他会收不到
  4.     // $defaults['title'] = '自定义标题';
  5.     // $defaults['message'] = '自定义消息';
  6.     // $defaults['headers'] = '自定义headers';  //一般情况下不需要修改
  7.     return $defaults;
  8. }
  9. add_filter( 'retrieve_password_notification_email', 'wpdx_filter_retrieve_password_notification_email', 10, 4 );

在下面的函数代码中,我们可以看到还有两个钩子:

  • retrieve_password_title 专门用于修改找回密码邮件的标题
  • retrieve_password_message 专门用于修改找回密码邮件的消息

所以,你可以根据实际需要,选择对应的钩子。



微信扫描下方的二维码阅读本文

小陈号卡
ts小陈

发表评论(不允许含有网址!)

:?: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :cry: :mrgreen: :neutral: :razz:

已登录用户不需要填写以下内容