wordpress имеет хук действия, называемый user_register
, который срабатывает немедленно после вставки пользователя в базу данных.
Пример из codex
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
и ваша функция
function myplugin_registration_save( $user_id ) {
if ( isset( $_POST['first_name'] ) )
update_user_meta($user_id, 'first_name', $_POST['first_name']);
}
Редактировать I
После комментария: Во-первых - вы можете хэшировать или изменять пароль в любой момент, когда захотите, другими способами -но я не буду вдаваться в подробности, поэтому, если вам нужно какое-то более раннее действие, вы можете использовать register_form для манипулирования самой формой или вы можете использовать register_post для манипулирования или обработки почтовых данных от пользователярегистрация до фильтра register_errors - который также можно использовать в зависимости от вашего сценария.
Все эти дополнительные функции связаны на странице кодекса user_register
.
Редактировать II
после комментария:
думаю, что мне нужно редактировать register_form, какой именно файл?
никогда НИКОГДА НИКОГДА редактировать файлы ядра.
Это о работеЭто практика, которую разработчик может сделать по многим причинам, которые я даже не могу здесь перечислить.Именно поэтому были сделаны крючки / фильтры.
Если вы уже это знаете, то используйте их, а если нет - можете прочитать подробнее здесь .
Крюк register_form
в этом случае точнодля управления формой, и вы можете изменить форму, не касаясь основных файлов.
Редактировать III
Пожалуйста, проверьте также функции: wp_hash_password и wp_set_password , который позволяет изменить алгоритм хеширования по умолчанию.
if ( !function_exists('wp_hash_password') ){
function wp_hash_password($password) {
//your own hashing algorithm here
return $password;
} }
, если вы это сделаете, вам также потребуется изменить wp_check_password
if ( !function_exists('wp_check_password') ){
function wp_check_password($password, $hash, $user_id = '') {
// do you hash checking
return apply_filters('check_password', $check, $password, $hash, $user_id);
}
}