Support » Plugin: Import Users from CSV » message doesn't send

Viewing 9 replies - 1 through 9 (of 9 total)
  • Same problem here

    There’s been some big changes to “wp_new_user_notification” since WordPress 4.3 – breaking this plugins notify function.

    There’s a similar plugin that notifies: https://wordpress.org/plugins/import-users-from-csv-with-meta/

    It doesn’t work for that plugin neither. For none of the import plugins for that matter, I checked most.

    It looks like the problem stems from here:

    https://github.com/sorich87/import-users-from-csv/blob/master/import-users-from-csv.php#L328

    The second parameter for wp_new_user_notification() is deprecated in WP 4.3.1. See here:

    https://codex.wordpress.org/Function_Reference/wp_new_user_notification

    Hi

    The solution is to overwrite the new function with this:

    <?php
    // Copy and paste this code in a file, then upload it to your ‘must-use’ plugins directory.
    if (version_compare(get_bloginfo(‘version’), ‘4.3.1’, ‘>=’)):
    if ( !function_exists(‘wp_new_user_notification’) ) :
    /**
    * Email login credentials to a newly-registered user.
    *
    * A new user registration notification is also sent to admin email.
    *
    * @since 2.0.0
    * @since 4.3.0 The $plaintext_pass parameter was changed to $notify.
    *
    * @param int $user_id User ID.
    * @param string $notify Whether admin and user should be notified (‘both’) or
    * only the admin (‘admin’ or empty).
    */
    function wp_new_user_notification( $user_id, $notify = ” ) {
    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”;

    wp_mail($user->user_email, sprintf(__(‘[%s] Your username and password info’), $blogname), $message);
    }
    endif;
    endif;

    Where, in editor does one needs to go to overwrite wp_new_user_notification().

    Thanks,

    Sorry for the late answer:

    wp_new_user_notification()

    Hello,

    I remace the code into the the pluggable.php file but the new user doesn’t receive the automatic message.

    Ludovic

    remace = replace

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘message doesn't send’ is closed to new replies.