[wp-trac] [WordPress Trac] #33496: Can't override wp_new_user_notification in child theme functions.php
WordPress Trac
noreply at wordpress.org
Fri Aug 21 18:35:51 UTC 2015
#33496: Can't override wp_new_user_notification in child theme functions.php
----------------------------+-----------------------------
Reporter: zero12345678 | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Users | Version: 4.3
Severity: normal | Keywords:
Focuses: administration |
----------------------------+-----------------------------
I have the following code placed in the functions.php file in my child
theme overriding the wp_new_user_notification functions so that is doesn't
send an email to new users that are created.
The last wp_mail function is commented out.
The email is still being sent to the new user's email address though.
{{{
if ( !function_exists('wp_new_user_notification') ) :
function wp_new_user_notification( $user_id, $notify = 'admin' ) {
global $wpdb;
$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 ( 'admin' === $notify || 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 ) );
$message = sprintf(__('Username: %s'), $user->user_login) .
"\r\n\r\n";
$message .= __('To set your password, visit the following
address:') . "\r\n\r\n";
$message .= '<' . network_site_url("wp-
login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login),
'login') . ">\r\n\r\n";
$message .= wp_login_url() . "\r\n";
// DISABLE EMAIL FROM BEING SENT TO NEW USER'S EMAIL ADDRESS
//wp_mail($user->user_email, sprintf(__('[%s] Your username and
password info'), $blogname), $message);
}
endif;
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/33496>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list