1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
add_filter( 'authenticate', 'auth_com_cpf_ou_cpnj', 99, 3 ); function auth_com_cpf_ou_cpnj( $user, $username, $password ) { global $wpdb; if ( !is_wp_error($user) ) { return $user; } $username = preg_replace('/[^0-9]/', '', $username); $user_row = $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM {$wpdb->prefix}usermeta WHERE ( meta_key = 'cpf' AND meta_value = '%s')", $username, $username ) ); if ( ! empty( $user_row ) ) { $user = get_user_by( 'ID', $user_row[0]->user_id ); if ( wp_check_password( $password, $user->user_pass, $user_row[0]->user_id ) ) { return $user; } } return new WP_Error( '', 'mensagem de erro', $username ); } |