Gerenciando Saldo de Usuários no WordPress com Funções Personalizadas

No desenvolvimento de projetos com WordPress, muitas vezes surge a necessidade de criar funcionalidades personalizadas para gerenciar metadados dos usuários. Um caso comum é o controle de saldo associado a cada usuário. Neste artigo, apresentamos duas funções PHP para adicionar e subtrair valores do campo de saldo de um usuário.


Função: adicionar_ao_saldo

Essa função permite adicionar um valor ao saldo atual de um usuário.

Como funciona:

  1. Obtém o valor atual do campo meta saldo do usuário utilizando get_user_meta.
  2. Verifica se o saldo atual é numérico, inicializando como zero caso não seja.
  3. Soma o valor enviado ao saldo atual.
  4. Atualiza o saldo no banco de dados com update_user_meta.

Código:

php

function adicionar_ao_saldo($user_id, $valor_add) {
    // Verifica se o usuário existe
    if (get_userdata($user_id)) {
        // Obtém o valor atual do campo meta 'saldo'
        $saldo_atual = get_user_meta($user_id, 'saldo', true);
        
        // Se o saldo atual não for numérico, inicializa como zero
        if (!is_numeric($saldo_atual)) {
            $saldo_atual = 0;
        }
        
        // Se o valor a adicionar não for numérico, lança um erro
        if (!is_numeric($valor_add)) {
            error_log("O valor a ser adicionado não é numérico.");
            return;
        }
        
        // Converte os valores para float para evitar problemas de tipo
        $saldo_atual = floatval($saldo_atual);
        $valor_add = floatval($valor_add);
        
        // Calcula o novo saldo
        $novo_saldo = $saldo_atual + $valor_add;
        
        // Atualiza o campo meta 'saldo' com o novo valor
        update_user_meta($user_id, 'saldo', $novo_saldo);
    } else {
        // Registra um erro caso o usuário não exista
        error_log("Usuário com ID {$user_id} não encontrado.");
    }
}

Exemplo de uso:

plain
adicionar_ao_saldo(123, 50.00); // Adiciona R$ 50,00 ao saldo do usuário com ID 123.

Função: subtrair_do_saldo

Essa função permite subtrair um valor do saldo atual de um usuário, garantindo que o saldo não fique negativo.

Como funciona:

  1. Obtém o valor atual do campo meta saldo.
  2. Verifica se o saldo atual é numérico, inicializando como zero caso não seja.
  3. Subtrai o valor enviado do saldo atual.
  4. Garante que o saldo resultante não seja negativo.
  5. Atualiza o saldo no banco de dados.

Código:

php

function subtrair_do_saldo($user_id, $valor_subtrair) {
    // Verifica se o usuário existe
    if (get_userdata($user_id)) {
        // Obtém o valor atual do campo meta 'saldo'
        $saldo_atual = get_user_meta($user_id, 'saldo', true);
        
        // Se o saldo atual não for numérico, inicializa como zero
        if (!is_numeric($saldo_atual)) {
            $saldo_atual = 0;
        }
        
        // Se o valor a subtrair não for numérico, lança um erro
        if (!is_numeric($valor_subtrair)) {
            error_log("O valor a ser subtraído não é numérico.");
            return;
        }
        
        // Converte os valores para float para evitar problemas de tipo
        $saldo_atual = floatval($saldo_atual);
        $valor_subtrair = floatval($valor_subtrair);
        
        // Calcula o novo saldo
        $novo_saldo = $saldo_atual - $valor_subtrair;
        
        // Garante que o saldo não seja negativo
        if ($novo_saldo < 0) {
            error_log("Operação inválida: o saldo não pode ser negativo.");
            return;
        }
        
        // Atualiza o campo meta 'saldo' com o novo valor
        update_user_meta($user_id, 'saldo', $novo_saldo);
    } else {
        // Registra um erro caso o usuário não exista
        error_log("Usuário com ID {$user_id} não encontrado.");
    }
}

Exemplo de uso:

plain
subtrair_do_saldo(123, 30.00); // Subtrai R$ 30,00 do saldo do usuário com ID 123.

Integração com Plugins como Automator

Se você utiliza plugins de automação, como o Automator, essas funções podem ser chamadas diretamente. Configure o plugin para passar os parâmetros user_id e o valor a adicionar ou subtrair, conforme o caso.

Por exemplo:

  • Para a função adicionar_ao_saldo, passe os valores user_id e valor_adicionar.
  • Para a função subtrair_do_saldo, passe os valores user_id e valor_subtrair.

Conclusão

As funções adicionar_ao_saldo e subtrair_do_saldo são soluções eficientes para gerenciar o saldo dos usuários no WordPress. Elas oferecem flexibilidade e podem ser integradas facilmente com plugins ou chamadas diretamente no código. Aproveite essas funções para aprimorar seu sistema e automatizar processos relacionados ao saldo!