Como utilizar wp_set_password() no WordPress (PHP)1 min leitura

Explicação de como utilizar a função PHP wp_set_password() do WordPress e um exemplo prático de código para gerar uma nova senha aleatória para todos os usuários.

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.

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo