23 de abril de 2024

WordPress – Fazendo login com CNPJ

Leia também

WordPress – Fazendo login com CNPJ

Quantas vezes um cliente pede essa modificação relativamente simples?...

WooCommerce – Exibir foto do produto em e-mail transacional

Um recurso de fácil implementação e que faz diferença...

Now Is the Time to Think About Your Small-Business Success

Find people with high expectations and a low tolerance...

Compartilhe

Quantas vezes um cliente pede essa modificação relativamente simples? Realmente é mais comum do que se imagina a necessidade de fazer login no wordpress com o CPNJ.

Claro que o campo billing_cnpj deve estar ativo no WooCommerce através de algum plugin ou com seu código manual.

  • Após verificar este requisito, copie o código abaixo e cole no funcions.php do seu tema ativo:
add_filter('authenticate', 'login_cpf_cnpj', 10, 3);
function login_cpf_cnpj($user, $username, $password){
if ($username == '' || $password == '') return;

global $wpdb;
if ($user) {
return $user;
}
$user_row = $wpdb->get_results(
$wpdb->prepare( "SELECT user_id FROM {$wpdb->prefix}usermeta
WHERE meta_key = 'billing_cnpj' AND meta_value = '%s'",
$username, $username ) );

if (!empty($user_row)) {
$user = get_user_by('ID', $user_row[0]->user_id);
if ($user && wp_check_password($password, $user->user_pass, $user_row[0]->user_id)) {
return $user;
} else { ?>
<script>
alert('Verifique sua senha!');
window.location = "<?php get_permalink(); ?>";
</script>
<?php
}
}
return $user;

}

Desta forma você obtém um resultado como o abaixo, que funciona perfeitamente.