Как изменить автоматическую генерацию паролей в WooCommerce

В WooCommerce есть настройка в разделе WooCommerce > Настройки > Аккаунты, позволяющая автоматически генерировать пароль для покупателя (пользователя). Это позволит пользователям указывать только лишь свой email адрес при регистрации (пароль будет автоматически создан и отправлен на их почту), аналогично тому, как WordPress работает с регистрацией с настройками по-умолчанию.

WooCommerce использует функцию ядра wp_generate_password() для генерации паролей, но может возникнуть необходимость изменить это поведение. Как это сделать мы и расскажем в сегодняшней статье.

Нам нужно применить фильтр woocommerce_new_customer_data, объявленный в районе строки 102 файла woocommerce/includes/wc-customer-functions.php:

<?php

$new_customer_data = apply_filters( 'woocommerce_new_customer_data', array(
    'user_login' => $username,
    'user_pass'  => $password,
    'user_email' => $email,
    'role'       => 'customer'
) );

Поэтому, если вдруг вам понадобиться создать пароль, совпадающий с электронным адресом пользователя, можно использовать следующий код:

<?php

function wcs_filter_password_email( $args ) {

    $args['user_pass'] = $args['user_email'];
    return $args;

}
add_filter( 'woocommerce_new_customer_data', 'wcs_filter_password_email' );

Или же, возможно, вы захотите использовать функцию wp_generate_password(), но при этом немного ее модифицировать, чтобы пароль состоял из шести символов и позволял использовать все специальные символы. Нижеследующий код поможет вам достичь желаемого:

<?php

function wcs_filter_password_auto( $args ) {

    $new_password = wp_generate_password( 6, true, true );

    $args['user_pass'] = $new_password;
    return $args;

}
add_filter( 'woocommerce_new_customer_data', 'wcs_filter_password_auto' );

Ознакомившись с документацией по функции wp_generate_password() можно реализовать и другие задачи, поставленные перед вами.

Если вы начинаете разбираться с WooCommerce, то не забудьте посетить нашу рубрику WooCommerce, где мы публикуем материалы специально по тематике магазинов на этой платформе.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top