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 sanitize_user() no WordPress (PHP) - Daniel Kossmann

Com a função sanitize_user() você remove todos os caracteres inválidos de um nome de usuário do WordPress. Ela possui dois parâmetros:

  1. $username: nome do usuário, utilizado na hora de fazer o login – obrigatório;
  2. $strict: Valor booleano para modo estrito, que permite apenas os caracteres: alfanuméricos, _, espaço, ., - e @ – Opcional, com false como valor padrão.

Veja abaixo três exemplos de como utilizá-la:

<?php
$nome_usuario = "     Daniel      Kossmann    ";
$nome_usuario_corrigido = sanitize_user( $nome_usuario );
// O valor de $nome_usuario_corrigido será "Daniel Kossmann" (sem aspas)

$nome_usuario = "Usuário / Acentuação 2021!?&%*";
$nome_usuario_corrigido = sanitize_user( $nome_usuario );
// O valor de $nome_usuario_corrigido será "Usuario / Acentuacao 2021!?&%*" (sem aspas)

// Modo estrito
$nome_usuario = "Usuário / Acentuação 2021!?";
$nome_usuario_corrigido = sanitize_user( $nome_usuario, true );
// O valor de $nome_usuario_corrigido será "Usuario Acentuacao 2021" (sem aspas)
Code language: PHP (php)

Como verificar se um nome de usuário do WordPress é válido

Um possível uso da função PHP sanitize_user() é verificar se o nome de usuário digitado é válido. Para isso, vamos comparar o que o usuário digitou com a saída da função. Veja abaixo como ficou o código:

<?php
// Verifica se foi enviado algum dado por POST
if ( isset( $_POST ) && !empty( $_POST['usuario'] ) ) {

	// Trata o valor enviado pelo formulário
	$nome_usuario_corrigido = sanitize_user( $_POST['usuario'] );	

	// Verifica se o valor digitado é o mesmo do que o retornado pela função
	if ( strcmp( $_POST['usuario'], $nome_usuario_corrigido ) === 0 ) {
		// Exibe as informações de forma que o conteúdo seja traduzível
		_e( 'O nome de usuário fornecido é válido.', 'danielkossmann' );
	} else {
		// Exibe as informações de forma que o conteúdo seja traduzível
		_e( 'O nome de usuário fornecido possui caracteres inválidos.', 'danielkossmann' );
	}
}
?>
<form method="post">
	<input type="text" name="usuario" placeholder="<?php _e( 'Digite o nome de usuário', 'danielkossmann' ); ?>">
	<input type="submit" value="<?php _e( 'Validar', 'danielkossmann' ); ?>">
</form>
Code language: PHP (php)

O código acima também utiliza a função PHP strcmp() para comparar duas strings, retornando 0 quando elas são iguais.



Comments

Deixe um comentário

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