Я пытаюсь изменить wp_set_password
подключаемую функцию и добавить к ней пользовательское действие:
function wp_set_password( $password, $user_id ) {
// Keep original WP code
global $wpdb;
$hash = wp_hash_password( $password );
$wpdb->update(
$wpdb->users,
array(
'user_pass' => $hash,
'user_activation_key' => '',
),
array( 'ID' => $user_id )
);
wp_cache_delete( $user_id, 'users' );
// and now add your own
$custom_hash = password_hash( $password, PASSWORD_DEFAULT );
update_user_meta($user_id, 'user_pass2', $custom_hash);
}
Я поместил этот код в свой собственный плагин, но он не запускает пользовательское действие, которое я написал внутри него. Я не уверен, в чем проблема.
Может быть, я вставил его не в то место или я должен позвонить куда-то?
Как подключить функцию wp_set_password()
WordPress к WooCommerce?
Изменить
Этот код вообще не срабатывает, я пытался ввести тот же пароль в таблицу пользователей, но ему все равно на мой код и он выполняет действие по умолчанию.
Изменить 2
Я комментирую код в плагине и изменил основной файл pluggable.php
в папке wp-includes
, и добавил эти 2 строчки.
$custom_hash = $password;
update_user_meta($user_id, 'user_pass2', $custom_hash);
Но это все еще не работает.
Изменить 3
Я даже убрал всю функцию из pluggable.php
, до сих пор работает! Я создал имя пользователя и пароль для новых пользователей.
Это должна быть регистрация WooCommerce. Я использую систему авторизации WooCommerce.
Изменить 4
Я использовал систему регистрации WordPress /wp-login.ph
p, и этот код наконец-то работает.
Теперь мне интересно, что касается WooCommerce, где и как я мог бы добиться чего-то подобного, обновив таблицу wp_usermeta
чем-то нестандартным.