Personalizando o campo Assunto nos e-mails de notificação do WordPress?

4

Posso personalizar e editar o campo de assunto nos e-mails de notificação "Redefinição de senha" enviados dos nossos blogs multilocais? Eu tentei alguns plug-ins como o login da minha marca e o white label CMS etc. Mas não posso editá-lo em notificações de redefinição de senha.

Alguém me ajuda a entender como editá-lo?

Atualização:

Hoje eu tentei com outra instalação. Mas não está fazendo nenhuma alteração. A palavra 'wordpress' no endereço de e-mail ainda está lá. Eu adicionei -

add_filter ( 'wp_mail_from_name', 'my_filter_that_outputs_the_new_name' );

para o código dado por Doug. Estou faltando alguma coisa? Você poderia me ajudar a resolver isso?

    
por user391 02.09.2010 / 18:48

1 resposta

6

Você pode alterá-los usando um filtro . Os ganchos de filtro que você deseja usar são:

  1. Para a mensagem primeiro e-mail (confirmando que eles realmente desejam redefinir a senha):

    • %código%    
    • %código%
  2. Para a mensagem email de acompanhamento (enviando o novo nome de usuário e senha):

    • %código%    
    • %código%

Atualização: Para criar e usar esses filtros, coloque o seguinte código ou um código semelhante em seu arquivo 'retrieve_password_title' :

function my_retrieve_password_subject_filter($old_subject) {
    // $old_subject is the default subject line created by WordPress.
    // (You don't have to use it.)

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf( __('[%s] Password Reset'), $blogname );
    // This is how WordPress creates the subject line. It looks like this:
    // [Doug's blog] Password Reset
    // You can change this to fit your own needs.

    // You have to return your new subject line:
    return $subject;
}

function my_retrieve_password_message_filter($old_message, $key) {
    // $old_message is the default message already created by WordPress.
    // (You don't have to use it.)
    // $key is the password-like token that allows the user to get 
    // a new password

    $message = __('Someone has asked to reset the password for the following site and username.') . "\r\n\r\n";
    $message .= network_site_url() . "\r\n\r\n";
    $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
    $message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "\r\n\r\n";
    $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

    // This is how WordPress creates the message. 
    // You can change this to meet your own needs.

    // You have to return your new message:
    return $message;
}

// To get these filters up and running:
add_filter ( 'retrieve_password_title', 'my_retrieve_password_subject_filter', 10, 1 );
add_filter ( 'retrieve_password_message', 'my_retrieve_password_message_filter', 10, 2 );

Você faria algo semelhante se também quiser modificar o e-mail de acompanhamento . Use o código do WordPress como um guia para criar a linha de assunto e mensagem (procure as variáveis 'retrieve_password_message' e 'password_reset_title' ).

    
por Doug 02.09.2010 / 18:59