Turbinando a Importação: Um Guia de Funções Personalizadas para WP All Import Pro

Bem-vindo ao mundo da importação de dados no WordPress! Se você está lendo este artigo, provavelmente já conhece o WP All Import Pro – uma ferramenta poderosa que torna a importação de dados uma brisa. Mas você sabia que pode turbinar ainda mais o WP All Import Pro com funções personalizadas?

Neste artigo, vamos explorar algumas funções personalizadas úteis que podem ajudar a resolver problemas comuns, otimizar seu fluxo de trabalho e desbloquear o verdadeiro potencial do WP All Import Pro. Desde a conversão de formatos de data até a manipulação de campos personalizados, estas funções são verdadeiros salva-vidas para qualquer pessoa que trabalhe regularmente com importações de dados.

Então, prepare-se para mergulhar no código e descobrir como você pode levar suas importações de dados para o próximo nível com o WP All Import Pro. Vamos começar!

Introdução às Funções Personalizadas no WP All Import Pro

Se você é novo no WordPress e no WP All Import Pro, pode estar se perguntando como e onde inserir funções personalizadas. Este artigo irá guiá-lo passo a passo através do processo.

Passo 1: Acessando o Editor de Funções

No painel do WordPress, navegue até o WP All Import Pro e clique em “Gerenciar Importações”. Em seguida, clique em “Editar” na importação que você deseja modificar. No topo da página de edição, você verá uma aba chamada “Funções Personalizadas”. Clique nesta aba para abrir o editor de funções.

Passo 2: Inserindo a Função Personalizada

No editor de funções, você pode inserir sua função personalizada. Por exemplo, você pode inserir a seguinte função para converter uma data de um formato para outro:

function convert_date($date) {
    $date = DateTime::createFromFormat('d/m/Y H:i:s', $date);
    return $date->format('Y-m-d H:i:s');
}

Passo 3: Usando a Função Personalizada

Depois de inserir a função personalizada, você pode usá-la em qualquer campo durante a importação. Por exemplo, se você tem um campo de data que precisa ser convertido, você pode inserir [convert_date({date[1]})] no campo correspondente, onde {date[1]} é o nome do campo de data no seu arquivo de importação.

Nota Importante

Ao usar funções personalizadas, certifique-se de substituir os nomes dos campos de exemplo (como {date[1]}) pelos nomes reais dos campos no seu arquivo de importação.

Espero que este guia seja útil para você e para outros que estão começando a usar o WP All Import Pro. 

Convertendo Formatos de Data no WordPress com ACF e WP All Import Pro

Se você já trabalhou com o WordPress, o Advanced Custom Fields (ACF) e o WP All Import Pro, pode ter encontrado problemas ao importar datas de um arquivo CSV. Especificamente, você pode ter tido problemas com a importação de datas no formato ‘d/m/Y’, pois o ACF armazena datas no formato ‘Ymd’ no banco de dados.

Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
//Pega a data ‘d/m/Y’ converterá ‘Ymd’ formato que o ACF armazena as datas no BD
//Exemplo de aplixação: [my_fix_date({date[1]}, "d/m/Y", "Ymd")]
function my_fix_date($date, $format = 'd/m/Y', $new_format = 'Ymd') {
  if ($obj = DateTime::createFromFormat($format, $date)) {
    return $obj->format($new_format);
  } else {
    return null;
  }
}
?>

Esta função, chamada my_fix_date, pega uma data no formato ‘d/m/Y’ e a converte para o formato ‘Ymd’. Ela faz isso usando a classe DateTime do PHP para criar um objeto DateTime a partir da data fornecida. Se for bem-sucedido, ele retorna a data no novo formato. Se não for bem-sucedido (por exemplo, se a data não puder ser interpretada como ‘d/m/Y’), ele retorna null.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de data: [my_fix_date({date[1]}, "d/m/Y", "Ymd")].

Dividindo Nomes Completos em Primeiro e Último Nome com WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava dividir um nome completo em primeiro e último nome durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
//Cliente Data Table

/*split_name: Esta função divide um nome completo em primeiro e último nome. Ela aceita dois parâmetros: $name, que é o nome completo a ser dividido, e $part, que especifica qual parte do nome deve ser retornada (‘first’ para o primeiro nome e ‘last’ para o sobrenome). A função usa a função explode para dividir o nome em partes com base em espaços e, em seguida, usa a função array_pop para remover e retornar o último elemento do array (o sobrenome). O primeiro nome é obtido juntando o restante das partes do array com a função implode.*/

function split_name($name, $part) {
    $parts = explode(" ", $name);
    $lastname = array_pop($parts);
    $firstname = implode(" ", $parts);
    if ($part == 'first') {
        return $firstname;
    } elseif ($part == 'last') {
        return $lastname;
    } else {
        return '';
    }
}

$first_name = split_name($data['nom_cliente'], 'first');
$last_name = split_name($data['nom_cliente'], 'last');
?>

Esta função, chamada split_name, pega um nome completo e o divide em primeiro e último nome. Ela faz isso usando a função explode do PHP para dividir o nome em partes com base em espaços. Em seguida, usa a função array_pop para remover e retornar o último elemento do array, que é o sobrenome. O primeiro nome é obtido juntando o restante das partes do array com a função implode.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de nome: $first_name = split_name($data['nom_cliente'], 'first'); para o primeiro nome e $last_name = split_name($data['nom_cliente'], 'last'); para o sobrenome.

Formatando Números de Telefone com Elegância no WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava formatar números de telefone durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
/*format_phone: Esta função formata um número de telefone. Ela aceita um parâmetro: $phone, que é o número de telefone a ser formatado. A função usa a função preg_replace para remover todos os caracteres não numéricos do número de telefone. Em seguida, ela verifica o comprimento do número de telefone e o formata de acordo (se tiver 8 dígitos, insere um hífen após o quarto dígito; se tiver 9 dígitos, insere um hífen após o quinto dígito).*/

function format_phone($phone) {
    $phone = preg_replace('/\D/', '', $phone);
    if (strlen($phone) == 8) {
        return substr($phone, 0, 4) . '-' . substr($phone, 4);
    } elseif (strlen($phone) == 9) {
        return substr($phone, 0, 5) . '-' . substr($phone, 5);
    } else {
        return $phone;
    }
}

$formatted_phone = format_phone($data['num_telefone']);
?>

Esta função, chamada format_phone, pega um número de telefone e o formata adequadamente. Ela faz isso usando a função preg_replace do PHP para remover todos os caracteres não numéricos do número de telefone. Em seguida, verifica o comprimento do número de telefone e o formata de acordo. Se o número de telefone tiver 8 dígitos, insere um hífen após o quarto dígito. Se tiver 9 dígitos, insere um hífen após o quinto dígito.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de número de telefone: $formatted_phone = format_phone($data['num_telefone']);.

Formatando CEPs com Precisão no WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava formatar CEPs durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
/*format_cep: Esta função formata um CEP. Ela aceita um parâmetro: $cep, que é o CEP a ser formatado. A função usa a função preg_replace para remover todos os caracteres não numéricos do CEP. Em seguida, ela verifica se o comprimento do CEP é 8 e, se for, insere um hífen após o quinto dígito.*/

function format_cep($cep) {
    $cep = preg_replace('/\D/', '', $cep);
    if (strlen($cep) == 8) {
        return substr($cep, 0, 5) . '-' . substr($cep, 5);
    } else {
        return $cep;
    }
}

$formatted_cep = format_cep($data['cod_cep']);
?>

Esta função, chamada format_cep, pega um CEP e o formata adequadamente. Ela faz isso usando a função preg_replace do PHP para remover todos os caracteres não numéricos do CEP. Em seguida, verifica se o comprimento do CEP é 8 e, se for, insere um hífen após o quinto dígito.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de CEP: $formatted_cep = format_cep($data['cod_cep']);.

Formatando CPFs e CNPJs com Precisão no WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava formatar CPFs ou CNPJs durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
/*format_cpf_cnpj: Esta função formata um CPF ou CNPJ. Ela aceita um parâmetro: $cpf_cnpj, que é o CPF ou CNPJ a ser formatado. A função usa a função preg_replace para remover todos os caracteres não numéricos do CPF ou CNPJ. Em seguida, ela verifica o comprimento do CPF ou CNPJ e o formata de acordo (se tiver 11 dígitos, insere pontos e hífen para formatar como um CPF; se tiver 14 dígitos, insere pontos, barra e hífen para formatar como um CNPJ).*/

function format_cpf_cnpj($cpf_cnpj) {
    $cpf_cnpj = preg_replace('/\D/', '', $cpf_cnpj);
    if (strlen($cpf_cnpj) == 11) {
        return substr($cpf_cnpj, 0, 3) . '.' . substr($cpf_cnpj, 3, 3) . '.' . substr($cpf_cnpj, 6, 3) . '-' . substr($cpf_cnpj, 9);
    } elseif (strlen($cpf_cnpj) == 14) {
        return substr($cpf_cnpj, 0, 2) . '.' . substr($cpf_cnpj, 2, 3) . '.' . substr($cpf_cnpj, 5, 3) . '/' . substr($cpf_cnpj, 8, 4) . '-' . substr($cpf_cnpj, 12);
    } else {
        return $cpf_cnpj;
    }
}

$formatted_cpf_cnpj = format_cpf_cnpj($data['cod_cpf_cnpj']);
?>

Esta função, chamada format_cpf_cnpj, pega um CPF ou CNPJ e o formata adequadamente. Ela faz isso usando a função preg_replace do PHP para remover todos os caracteres não numéricos do CPF ou CNPJ. Em seguida, verifica o comprimento do CPF ou CNPJ e o formata de acordo. Se o CPF ou CNPJ tiver 11 dígitos, insere pontos e um hífen para formatá-lo como um CPF. Se tiver 14 dígitos, insere pontos, uma barra e um hífen para formatá-lo como um CNPJ.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de CPF ou CNPJ: $formatted_cpf_cnpj = format_cpf_cnpj($data['cod_cpf_cnpj']);.

Gerando Nomes de Usuário Únicos com WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava gerar nomes de usuário únicos durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
/*generate_username: Esta função gera um nome de usuário com base em um nome completo e um CPF ou CNPJ. Ela aceita dois parâmetros: $full_name, que é o nome completo usado para gerar o nome de usuário, e $cpf_cnpj, que é o CPF ou CNPJ usado para gerar os dígitos finais do nome de usuário. A função chama a função split_name para obter o primeiro nome do usuário e usa a função preg_replace para remover todos os caracteres não numéricos do CPF ou CNPJ. Se o CPF ou CNPJ estiver vazio, ela gera 4 dígitos aleatórios usando as funções rand e str_pad. Caso contrário, ela usa os últimos 4 dígitos do CPF ou CNPJ. O nome de usuário é gerado concatenando o primeiro nome (convertido para minúsculas com a função strtolower) com os 4 dígitos.*/

function generate_username($full_name, $cpf_cnpj) {
    list($first_name, $last_name) = split_name($full_name);
    $cpf_cnpj = preg_replace('/\D/', '', $cpf_cnpj);
    if (empty($cpf_cnpj)) {
        $digits = str_pad(rand(0, 9999), 4, '0', STR_PAD_LEFT);
    } else {
        $digits = substr($cpf_cnpj, -4);
    }
    $username = strtolower($first_name) . $digits;
    return $username;
}

$username = generate_username($data['nom_cliente'], $data['cod_cpf_cnpj']);
?>

Esta função, chamada generate_username, gera um nome de usuário único com base em um nome completo e um CPF ou CNPJ. Ela faz isso usando a função split_name para obter o primeiro nome do usuário e a função preg_replace para remover todos os caracteres não numéricos do CPF ou CNPJ. Em seguida, verifica se o CPF ou CNPJ está vazio e, se estiver, gera 4 dígitos aleatórios. Caso contrário, ela usa os últimos 4 dígitos do CPF ou CNPJ. O nome de usuário é gerado concatenando o primeiro nome (convertido para minúsculas) com os 4 dígitos.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de nome de usuário: $username = generate_username($data['nom_cliente'], $data['cod_cpf_cnpj']);.

Conversão de Formatos de Data no WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava converter datas de um formato para outro durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
/* convert_date: Esta função converte uma data de um formato específico (‘d/m/Y H:i:s’) para outro formato (‘Y-m-d H:i:s’). Ela aceita um parâmetro: $date, que é a data a ser convertida. A função usa a classe DateTime e seu método estático createFromFormat para criar um objeto DateTime a partir da data fornecida no formato especificado. Em seguida, ela usa o método format do objeto DateTime para formatar a data no formato desejado.*/

function convert_date($date) {
    $date = DateTime::createFromFormat('d/m/Y H:i:s', $date);
    return $date->format('Y-m-d H:i:s');
}

$converted_date = convert_date($data['dat_inclusao']);
?>

Esta função, chamada convert_date, pega uma data em um formato específico (‘d/m/Y H:i:s’) e a converte para outro formato (‘Y-m-d H:i:s’). Ela faz isso usando a classe DateTime do PHP e seu método estático createFromFormat para criar um objeto DateTime a partir da data fornecida no formato especificado. Em seguida, ela usa o método format do objeto DateTime para formatar a data no formato desejado.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de data: $converted_date = convert_date($data['dat_inclusao']);.

Validando e Corrigindo Endereços de E-mail com WP All Import Pro

Se você já trabalhou com o WordPress e o WP All Import Pro, pode ter encontrado situações em que precisava validar e corrigir endereços de e-mail durante a importação de dados. Para resolver esse problema, você pode usar a seguinte função personalizada em PHP:

<?php
/*
validate_email: Esta função é usada para validar e corrigir um endereço de e-mail durante a importação com o WP All Import. Ela remove espaços em branco antes e depois do endereço de e-mail, converte o endereço de e-mail para minúsculas e substitui caracteres comuns que podem ser digitados incorretamente. Em seguida, ela valida o endereço de e-mail e retorna o endereço de e-mail corrigido se for válido ou uma string vazia se não for válido. Você pode usá-la diretamente no editor de funções do WP All Import ou modificá-la conforme necessário para atender às suas necessidades específicas.

Exemplo de uso, você pode chamar essa função no campo “Endereço de e-mail” fornecido pelo complemento User Add-On: [validate_email({email[1]})]
*/

function validate_email($email) {
    // Remove espaços em branco antes e depois do e-mail
    $email = trim($email);
    
    // Converte o e-mail para minúsculas
    $email = strtolower($email);
    
    // Substitui caracteres comuns que podem ser digitados incorretamente
    $email = str_replace(' ', '', $email);
    $email = str_replace(',', '.', $email);
    
    // Valida o endereço de e-mail
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
        return $email;
    } else {
        // Gera um número aleatório de 6 dígitos
        $random_number = rand(100000, 999999);
        
        // Retorna um endereço de e-mail fictício com o número aleatório
        return $random_number . '-email@nao.valido';
    }
}
?>

Esta função, chamada validate_email, valida e corrige um endereço de e-mail. Ela faz isso removendo espaços em branco antes e depois do endereço de e-mail, convertendo o endereço de e-mail para minúsculas e substituindo caracteres comuns que podem ser digitados incorretamente. Em seguida, ela valida o endereço de e-mail e, se for válido, retorna o endereço de e-mail corrigido. Se o endereço de e-mail não for válido, ela gera um número aleatório de 6 dígitos e retorna um endereço de e-mail fictício com o número aleatório.

Para usar essa função durante a importação com o WP All Import Pro, você pode inserir o seguinte no campo de endereço de e-mail: [validate_email({email[1]})].


Espero que estas funções sejam úteis para você e para outros que possam estar enfrentando os mesmos problemas. 😊