wp_new_user_notification( int $user_id, null $deprecated = null, string $notify = '' )
Email login credentials to a newly-registered user.
Description
A new user registration notification is also sent to admin email.
Parameters
- $user_id
-
(Required) User ID.
- $deprecated
-
(Optional) Not used (argument deprecated).
Default value: null
- $notify
-
(Optional) Type of notification that should happen. Accepts 'admin' or an empty string (admin only), 'user', or 'both' (admin and user).
Default value: ''
Source
File: bp-core/bp-core-wp-emails.php
705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 | function wp_new_user_notification( $user_id , $deprecated = null, $notify = '' ) { if ( $deprecated !== null ) { _deprecated_argument( __FUNCTION__ , '4.3.1' ); } global $wpdb , $wp_hasher ; $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); if ( 'user' !== $notify ) { $switched_locale = switch_to_locale( get_locale() ); /* translators: %s: site title */ $message = '<p>' . sprintf( __( 'New user registration on your site %s:' , 'buddyboss' ), $blogname ) . '</p>' ; /* translators: %s: user login */ $message .= '<p>' . sprintf( __( 'Username: <b>%s</b>' , 'buddyboss' ), $user ->user_login ) . '</p>' ; /* translators: %s: user email address */ $message .= '<p>' . sprintf( __( 'Email: <b>%s</b>' , 'buddyboss' ), $user ->user_email ) . '</p>' ; $wp_new_user_notification_email_admin = array ( 'to' => get_option( 'admin_email' ), /* translators: Password change notification email subject. %s: Site title */ 'subject' => __( '[%s] New User Registration' , 'buddyboss' ), 'message' => $message , 'headers' => '' , ); /** * Filters the contents of the new user notification email sent to the site admin. * * @since BuddyPress 4.9.0 * * @param array $wp_new_user_notification_email { * Used to build wp_mail(). * * @type string $to The intended recipient - site admin email address. * @type string $subject The subject of the email. * @type string $message The body of the email. * @type string $headers The headers of the email. * } * @param WP_User $user User object for new user. * @param string $blogname The site title. */ $wp_new_user_notification_email_admin = apply_filters( 'wp_new_user_notification_email_admin' , $wp_new_user_notification_email_admin , $user , $blogname ); add_filter( 'wp_mail_content_type' , 'bp_email_set_content_type' ); $wp_new_user_notification_email_admin [ 'message' ] = bp_email_core_wp_get_template( $wp_new_user_notification_email_admin [ 'message' ], $user ); @wp_mail( $wp_new_user_notification_email_admin [ 'to' ], wp_specialchars_decode( sprintf( $wp_new_user_notification_email_admin [ 'subject' ], $blogname ) ), $wp_new_user_notification_email_admin [ 'message' ], $wp_new_user_notification_email_admin [ 'headers' ] ); remove_filter( 'wp_mail_content_type' , 'bp_email_set_content_type' ); if ( $switched_locale ) { restore_previous_locale(); } } // `$deprecated was pre-4.3 `$plaintext_pass`. An empty `$plaintext_pass` didn't sent a user notification. if ( 'admin' === $notify || ( empty ( $deprecated ) && empty ( $notify ) ) ) { return ; } // Generate something random for a password reset key. $key = wp_generate_password( 20, false ); /** This action is documented in wp-login.php */ do_action( 'retrieve_password_key' , $user ->user_login, $key ); // Now insert the key, hashed, into the DB. if ( empty ( $wp_hasher ) ) { require_once ABSPATH . WPINC . '/class-phpass.php' ; $wp_hasher = new PasswordHash( 8, true ); } $hashed = time() . ':' . $wp_hasher ->HashPassword( $key ); $wpdb ->update( $wpdb ->users, array ( 'user_activation_key' => $hashed ), array ( 'user_login' => $user ->user_login ) ); $switched_locale = switch_to_locale( get_user_locale( $user ) ); /* translators: %s: user login */ $message = '<p>' . sprintf( __( 'Username: %s' , 'buddyboss' ), $user ->user_login ) . '</p>' ; $message .= '<p>' . sprintf( __( 'To set your password <a href="%s">Click here</a>.' , 'buddyboss' ), network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user ->user_login), 'login' ) ) . '</p>' ; $message .= wp_login_url(); $wp_new_user_notification_email = array ( 'to' => $user ->user_email, /* translators: Password change notification email subject. %s: Site title */ 'subject' => __( '[%s] Your username and password info' , 'buddyboss' ), 'message' => $message , 'headers' => '' , ); /** * Filters the contents of the new user notification email sent to the new user. * * @since BuddyPress 4.9.0 * * @param array $wp_new_user_notification_email { * Used to build wp_mail(). * * @type string $to The intended recipient - New user email address. * @type string $subject The subject of the email. * @type string $message The body of the email. * @type string $headers The headers of the email. * } * @param WP_User $user User object for new user. * @param string $blogname The site title. */ $wp_new_user_notification_email = apply_filters( 'wp_new_user_notification_email' , $wp_new_user_notification_email , $user , $blogname ); add_filter( 'wp_mail_content_type' , 'bp_email_set_content_type' ); $wp_new_user_notification_email [ 'message' ] = bp_email_core_wp_get_template( $wp_new_user_notification_email [ 'message' ], $user ); wp_mail( $wp_new_user_notification_email [ 'to' ], wp_specialchars_decode( sprintf( $wp_new_user_notification_email [ 'subject' ], $blogname ) ), $wp_new_user_notification_email [ 'message' ], $wp_new_user_notification_email [ 'headers' ] ); remove_filter( 'wp_mail_content_type' , 'bp_email_set_content_type' ); if ( $switched_locale ) { restore_previous_locale(); } } |
Changelog
Version | Description |
---|---|
BuddyPress 2.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.