RETRIVE_PASSWORD_MESSAGE的电子邮件内容存储在哪里?

时间:2016-02-17 作者:Andrew Jackman

我已经接管了一个有自定义密码重置电子邮件的项目。我已经在project中的所有文本中搜索了这封电子邮件,但找不到它。我怀疑它可能在一个。po文件之类的,但也许有人可以更快地指导我。

1 个回复
最合适的回答,由SO网友:Vasim Shaikh 整理而成

WordPress使用自定义wp_mail 函数,因此如果要搜索邮件,则无法找到它。你应该找到retrieve_password_message 在那里进行筛选调用。这是返回重置密码消息内容的筛选器。

// Change the message/body of the email
add_filter( \'retrieve_password_message\', \'rv_new_retrieve_password_message\', 10, 4 );
function rv_new_retrieve_password_message( $message, $key, $user_login, $user_data ){
    /**
     *  Assemble the URL for resetting the password
     *  see line 330 of wp-login.php for parameters
     */
    $reset_url = add_query_arg( array(
        \'action\' => \'rp\',
        \'key\' => $key,
        \'login\' => rawurlencode( $user_login )
    ), wp_login_url() );
    ob_start();

    printf( \'<p>%s</p>\', __( \'Hi, \' ) . $user_fname );
    printf( \'<p>%s</p>\', __( \'It looks like you need to reset your password on the site. If this is correct, simply click the link below. If you were not the one responsible for this request, ignore this email and nothing will happen.\' ) );
    printf( \'<p><a href="%s">%s</a></p>\', $reset_url, __( \'Reset Your Password\' ) );

    $message = ob_get_clean();
    return $message;
}
在wp登录中,您可以找到检索密码的函数。

 /**
177  * Handles sending password retrieval email to user.
178  *
179  * @uses $wpdb WordPress Database object
180  *
181  * @return bool|WP_Error True: when finish. WP_Error on error
182  */
183 function retrieve_password() {}
我建议您不要编辑WordPress的核心文件,请在函数中使用挂钩/过滤器。php文件。我希望这对你有帮助。

相关推荐

是否有必要清理wp_set_password用户输入?

我正在尝试向WP注册表添加密码表单。请参见下面的代码。我想知道是否需要清理这个特定的用户输入?(如果是,怎么做?)如果我理解正确,WP为某些东西内置了净化功能,密码可能就是其中之一。对吗?WP会在将其添加到数据库之前自动对其进行清理吗?add_action( \'register_new_user\', \'registration_change_pass\', 10, 99 ); function registration_change_pass( $user_id ) { &