Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-addons-for-gutenberg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the hustle domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114
Como utilizar wp_set_password() no WordPress (PHP) - Daniel Kossmann

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.



Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *