Com a função PHP wp_set_password() você define uma nova senha para um usuário do WordPress dado o seu ID. Segue abaixo um exemplo de uso:
<?php
$id_usuario = 1;
$senha = "s3nh4!mu1t0/s3gur@";
wp_set_password( $senha, $id_usuario );
Code language: PHP (php)
Gerando uma nova senha aleatória para todos os usuários do WordPress
Digamos que a segurança de um site WordPress foi comprometida e por segurança você quer alterar as senhas de todos os usuários. É possível fazer isto utilizando a função wp_set_password(), junto com a função get_users() para listar os usuários e a função wp_generate_password() para gerar uma nova senha aleatória. Veja abaixo o código:
<?php
// Pega uma lista com todos os usuários
$usuarios = get_users( array( 'fields' => array( 'ID', 'user_login' ) ) );
// Matriz para guardar os usuários alterados
$usuarios_alterados = [];
// Acessa cada usuário encontrado
foreach ( $usuarios as $usuario ) {
// Gera uma senha nova aleatória
$senha = wp_generate_password();
// Altera a senha do usuário
wp_set_password( $senha, $usuario->ID );
// Salva o login do usuário para ser listado
$usuarios_alterados[] = $usuario->user_login;
}
if ( !empty( $usuarios_alterados ) ) {
echo "Alterado a senha dos usuários: " . implode( ", ", $usuarios_alterados . "." );
} else {
echo "Não foi alterado a senha de nenhum usuário.";
}
Code language: PHP (php)
Para exibir a lista de logins alterados, utilizei a função PHP implode para juntar os elementos de uma matriz em uma string, definindo ,
(vírgula seguida de um espaço) como separador entre os elementos.
Deixe um comentário