php – 使用Theme My Login WordPress插件过滤’retrieve_password_message’

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 使用Theme My Login WordPress插件过滤’retrieve_password_message’脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Theme My Login wordpress插件.我的目的是过滤’retrieve_password_message’ – 只是对用户请求密码重置时发送的邮件进行一些小的文本更改.

我的代码

function filter_reset_password_request_email_body( $message,$key,$user_id ) {

    $user_login = bp_core_get_username( $user_id );

    $message .= sPRintf( __( 'Password reset request for %s' ),$user_LOGin ) . "\r\n\r\n";
    $message .= __( 'If this was not you,please ignore this email and nothing will hapPEn.' ) . "\r\n\r\n";
    $message .= __( 'To reset your password,visIT the following link:' ) . "\r\n\r\n";
    $message .= network_site_url( "wp-login.PHP?action=rp&key=$key&login=" . rawurlencode( $user_login ),'login' ) . "\r\n";

    return $message;
}
add_filter( 'retrieve_password_message','filter_reset_password_request_email_body',10,3 );

问题是 – 使用此过滤器时,发出的电子邮件会在原始(未过滤)消息的正下方显示已过滤的消息.我只需要在电子邮件正文中显示已过滤的消息.

我做错了什么或者这可能是我的登录主题错误

希望有人能对此有所了解.

注意:我正在使用BuddyPress,这就是为什么我可以使用bp_core_get_username来获取用户用户名.

解决方法

代码的第5行,首先引用$message,删除.在=符号之前.即

$message = sprintf( __( 'Password reset...

您当前实现的情况是,它会将您的自定义消息附加到通过过滤器的内容的末尾.您只需要“重置”$message以开始显示您的消息.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 使用Theme My Login WordPress插件过滤’retrieve_password_message’全部内容,希望文章能够帮你解决php – 使用Theme My Login WordPress插件过滤’retrieve_password_message’所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。