डिफ़ॉल्ट पंजीकरण ईमेल कैसे बदलें? (प्लगइन और / या गैर प्लगइन)


54

एक नए उपयोगकर्ता पंजीकरण के बाद, WP लॉगिन / पासवर्ड, और लॉगिन पृष्ठ के लिंक के साथ एक ईमेल भेजता है।

क्या इस डिफॉल्ट ईमेल टेम्प्लेट को बदलने का कोई तरीका है? मैं विषय और प्रेषक को बदलना चाहूंगा।

संपादित करें: रुचि रखने वाले के लिए, यहां एक प्लगइन समाधान है।

जवाबों:


62

नया उपयोगकर्ता ईमेल wp_new_user_notification()फ़ंक्शन का उपयोग करके भेजा जाता है जो कि प्लग करने योग्य है जिसका अर्थ है कि आप इसे अधिलेखित कर सकते हैं:

// Redefine user notification function
if ( !function_exists('wp_new_user_notification') ) {
    function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
        $user = new WP_User($user_id);

        $user_login = stripslashes($user->user_login);
        $user_email = stripslashes($user->user_email);

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

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

        if ( empty($plaintext_pass) )
            return;

        $message  = __('Hi there,') . "\r\n\r\n";
        $message .= sprintf(__("Welcome to %s! Here's how to log in:"), get_option('blogname')) . "\r\n\r\n";
        $message .= wp_login_url() . "\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n";
        $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n\r\n";
        $message .= sprintf(__('If you have any problems, please contact me at %s.'), get_option('admin_email')) . "\r\n\r\n";
        $message .= __('Adios!');

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

    }
}

@Bainternet मुझे यह काम करने के लिए नहीं मिल सकता है, मैंने इसे अपने फ़ंक्शन फ़ाइल में जोड़ दिया है, लेकिन मानक ईमेल भेजता रहता है। मैं मल्टीसाइट पर हूँ, लेकिन यह बात नहीं होनी चाहिए, है ना?

6
ठीक है अब मिल गया, यह केवल एक अलग प्लगइन के रूप में काम करता है, न कि जब आप इसे अपनी functions.phpफ़ाइल में जोड़ते हैं । अब यह सही काम करता है, कोड के उस अच्छे टुकड़े के लिए फिर से धन्यवाद!

क्या यह मल्टीसाइट के लिए भी काम करता है? मैं देख सकता हूं कि मल्टीसाइट में अधिसूचना ईमेल भेजने के लिए ms-functions.php के अंदर फ़ंक्शन का गुच्छा है।
सिसिर

मल्टीसाइट का उपयोग wpmu_signup_user_notificationमुझे लगता है।
व्येक

यह उत्तर कई साल पुराना है। स्वीकृत उत्तर मेरे लिए काम नहीं करता है। (जब इसे एक नए उपयोगकर्ता द्वारा पंजीकृत किया जाता है, तो किसी भी ईमेल को भेजे जाने से फ़ंक्शंस में जोड़ें। एफपी को कोई फ़र्क नहीं पड़ता।) क्या मुझे एक नया प्रश्न पोस्ट करना चाहिए?
किट जॉनसन

22

2018 और उसके बाद के उपयोगकर्ताओं के लिए:

चूंकि वर्डप्रेस 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;
}

वैकल्पिक रूप से एक wp_new_user_notification_emailऔर wp_new_user_notification_email_adminफिल्टर का उपयोग कर सकता है । उन रुचि की जांच कर सकते पूर्ण प्रलेखन और स्रोत कोड के लिए wp_new_user_notification()
पीट

धन्यवाद पीट, ऐसा लगता है कि 4.9.0 में पेश किया गया था और एक बेहतर समाधान की तरह दिखता है।
एडु वास

3

यह functions.php पर काम नहीं करेगा, आपको इस कोड को प्लगइन के अंदर रखना होगा।

यदि आप अभी इसके लिए एक प्लगइन नहीं बनाते हैं तो बस इस लिंक का उपयोग करें

इस फंक्शन फॉर्म का अपडेट कोड यहां लेना न भूलें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.