Я пытаюсь добавить пользовательское поле в таблицу WP_USERMETA
после регистрации в Woocommerce
add_filter('woocommerce_new_customer_data', 'wc_assign_custom_role', 10, 1);
function wc_assign_custom_role($args) {
update_user_meta($user_id, 'user_pass2', password_hash($_POST['password'], PASSWORD_DEFAULT));
return $args;
}
как вы видите, я пытаюсь захватить пароль перед хэшированием и сохранить его в другом формате хеша в этой таблице
но это ничего не добавляет к таблице
Я тестировал ту же самую строку внутри хука регистрации WordPress user_register
, и она работала, но только для регистрации в WordPress, а не в woocommerce
UPDATE
add_filter('woocommerce_new_customer_data', 'wc_assign_custom_role', 10, 1);
function wc_assign_custom_role($args) {
global $current_user;
update_user_meta($current_user->$user_id, 'user_pass2', password_hash($_POST['password'], PASSWORD_DEFAULT));
return $args;
}
все еще не работает
ОБНОВЛЕНИЕ II
function action_woocommerce_created_customer( $customer_id, $new_customer_data, $password_generated ) {
update_user_meta($customer_id, 'user_pass2', password_hash($_POST['password'], PASSWORD_DEFAULT));
};
add_action( 'woocommerce_created_customer', 'action_woocommerce_created_customer', 10, 3 );
этот создает метаданные, но, похоже, он использует другой $_POST['password']
, а не пароль, который я ввел, поэтому хешируйте что-то другое, а не пароль
Есть мысли ??