ฉันจะเปลี่ยนแม่แบบอีเมลสำหรับผู้ใช้ใหม่ได้อย่างไร


10

เมื่อฉันเพิ่มลูกค้าใหม่อีเมลจะไปยังผู้ใช้ใหม่ในรูปแบบนี้:

From: WordPress [wordpress@siteurl.com]
Subject: [site name] Your user name and password
Message:
         username: user
         Password: password
         siteurl.com/wp-login.php

ตอนนี้ฉันต้องการเปลี่ยนรูปแบบเช่นนี้:

From: My Site Name [info@siteurl.com]
Subject: siteurl.com customer account activated
Message:
       Your customer account has been activated.

       Your Login credentials are:

       Username: user email
       Password: password

       Thanks,
       abcd

ฉันลองคำตอบนี้แต่มันไม่ทำงาน

ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


17

สำหรับผู้ใช้ปี 2561 เป็นต้นไป:

คำตอบของ David Gard ยังคงใช้งานได้ แต่เก่าและมีวิธีที่ดีกว่า / สะอาดกว่าในการทำเช่นนี้ (ไม่จำเป็นต้องใช้ปลั๊กอินอีกต่อไป)

ตั้งแต่ WordPress 4.9.0 มีตัวกรองใหม่คุณสามารถใช้กำหนดอีเมลลงทะเบียนเอง:

ตัวอย่างการใช้งานในอีเมลที่ส่งถึงผู้ดูแลระบบ (คุณสามารถวางสิ่งนี้ในหน้าที่ของธีมของคุณ):

add_filter( 'wp_new_user_notification_email_admin', 'custom_wp_new_user_notification_email', 10, 3 );

function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
    $wp_new_user_notification_email['subject'] = sprintf( '[%s] New user %s registered.', $blogname, $user->user_login );
    $wp_new_user_notification_email['message'] = sprintf( "%s ( %s ) has registerd to your blog %s.", $user->user_login, $user->user_email, $blogname );
    return $wp_new_user_notification_email;
}

7

อีเมลแจ้งเตือนผู้ใช้ใหม่ถูกสร้างและส่งโดยฟังก์ชั่นwp_new_user_notification()ซึ่งพบในwp-include / plugable.php

ไม่มีตะขอตัวกรองภายในฟังก์ชั่นนี้ที่จะช่วยให้คุณสามารถจัดการกับผลลัพธ์ของอีเมลได้อย่างไรก็ตามคุณสามารถเขียนทับฟังก์ชั่นที่เสียบได้ผ่านทางปลั๊กอิน

หมายเหตุ - คุณสามารถเขียนทับฟังก์ชั่นที่เสียบปลั๊กได้เท่านั้นจากภายในปลั๊กอินไม่ใช่จากภายในธีมของคุณ

ดูที่นี่สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับฟังก์ชั่นที่เสียบได้และรายการทั้งหมดของที่มี - http://codex.wordpress.org/Pluggable_Functions

รหัสนี้จะสร้างปลั๊กอินที่จะใช้แทนหนึ่งในwp-include / plugable.php (บันทึกไว้ในไฟล์ของตัวเองในwp-content / plugins / )

ฉันยังไม่ได้ปรับแต่งให้เหมาะกับคุณ แต่ควรจะได้รับในแบบของคุณ

<?php
/**
 * Plugin Name: Custom new user notification email
 * Description: Overwrites the pluggable 'wp_new_user_notification()' plugin to allow the sending of a custom email
 * Author: David Gard
 * Version: 1.0
 */

if ( !function_exists('wp_new_user_notification') ) :
/**
 * Pluggable - Email login credentials to a newly-registered user
 *
 * A new user registration notification is also sent to admin email.
 *
 * @since 2.0.0
 *
 * @param int    $user_id        User ID.
 * @param string $plaintext_pass Optional. The user's plaintext password. Default empty.
 */
function wp_new_user_notification($user_id, $plaintext_pass = ''){

    $user = get_userdata($user_id);

    // The blogname option is escaped with esc_html on the way into the database in sanitize_option
    // we want to reverse this for the plain text arena of emails.
    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

    $message  = sprintf(__('New user registration on your site %s:'), $blogname) . "\r\n\r\n";
    $message .= sprintf(__('Username: %s'), $user->user_login) . "\r\n\r\n";
    $message .= sprintf(__('E-mail: %s'), $user->user_email) . "\r\n";

    @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), $blogname), $message);

    if ( empty($plaintext_pass) )
        return;

    $message  = sprintf(__('Username: %s'), $user->user_login) . "\r\n";
    $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
    $message .= wp_login_url() . "\r\n";

    wp_mail($user->user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);

}
endif;

1

หากคุณอ้างถึงการตั้งค่าแบบหลายไซต์จะสามารถกำหนดค่าผ่านเทมเพลตที่ตั้งค่าในฐานข้อมูลภายใต้ 2 ส่วน:

ยินดีต้อนรับอีเมล์

และ

ยินดีต้อนรับอีเมล์ผู้ใช้

http: //yoursite/wp-admin/network/settings.php

คุณสามารถปรับแต่งมันตามความชอบของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.