1
resposta

Inserção de dados na plataforma wordpress.

olá Alura,

estou com uma duvida aqui. Estou tendo problema para inserir dados no banco de dados do site , que estou trabalhando. Acontece que eles usam wordpress, e se usar o código no editor classico, o codigo quebra. Eu olhei um plugin chamado "WpCode" e eles trabalham com a ferramenta "snippet code".

Depois de preparar o campo do formulario, codigo é usado de forma inteira sem a divisão dos arquivos, as classes estão no mesmo arquivo ou aqui é "snippet code". Para manter a organização eu mantive as classes, só que não esta sendo inseridos os valores.

Código esta no arquivo - wordpressCurriculo.php

link do github: git@github.com:tiagobrandao03/pcd_curriculo.git

1 resposta

Oi Tiago!

Entendi o seu problema! Quando você está trabalhando com o WordPress e tentando inserir código diretamente no editor, pode acontecer da estrutura do código se perder ou até ser bloqueada por algum filtro de segurança, principalmente quando você está lidando com bancos de dados.

Eu vejo que você mencionou o uso do WPCode, que é uma excelente ferramenta para gerenciar snippets de código no WordPress. Ela permite inserir trechos de código diretamente no site sem causar esse tipo de problema que você está enfrentando no editor clássico.

Aqui estão algumas dicas para te ajudar a resolver esse problema:

1. Usando WPCode de Forma Correta

Se você estiver criando um snippet de código no WPCode, ele deve ser inserido na área correta de hooks ou de templates, sem precisar misturar com a estrutura do tema principal. Em vez de inserir o código diretamente no arquivo do tema, use o WPCode para criar um snippet que seja chamado em uma das áreas apropriadas, como um hook específico do WordPress.

2. Organização do Código

Manter as classes e funções organizadas dentro do snippet pode ser uma boa ideia, mas cuidado para não sobrecarregar o arquivo. Quando você for trabalhar com a inserção de dados no banco de dados, sempre utilize funções nativas do WordPress como wpdb->insert() para garantir que o processo de inserção seja seguro e eficiente. Isso ajuda a evitar que o código quebre ou cause vulnerabilidades no banco de dados.

Aqui vai um exemplo de como você pode inserir dados no banco de dados usando o wpdb:

global $wpdb;

$table = $wpdb->prefix . 'nome_da_tabela'; // Prefixo do WordPress
$data = array(
    'campo1' => sanitize_text_field($_POST['campo1']),
    'campo2' => sanitize_text_field($_POST['campo2']),
);
$format = array('%s', '%s'); // Define o formato dos dados (ex: %s para string)

$wpdb->insert($table, $data, $format);

3. Checando o WPCode

No WPCode, você pode criar snippets diretamente do painel do WordPress e definir onde ele será executado. Por exemplo, se for para um formulário que está na área de administração, você pode usar o hook admin_post para capturar os dados e inserir no banco de dados.

Exemplo básico de um hook para capturar o formulário:

add_action('admin_post_nome_da_acao', 'minha_funcao_para_inserir_dados');

function minha_funcao_para_inserir_dados() {
    // Sua lógica de inserção no banco de dados
    wp_redirect(home_url()); // Redireciona após a inserção
    exit;
}

4. Verifique os Erros

Como o código não está inserindo os valores, uma dica importante é ativar o modo de depuração no WordPress para verificar se há algum erro sendo gerado durante a inserção. Para isso, adicione o seguinte no arquivo wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Isso irá gerar um log de erros no arquivo wp-content/debug.log, que pode te ajudar a identificar onde o problema está acontecendo.

5. GitHub

Se precisar de ajuda com o código específico, eu daria uma olhada no seu repositório no GitHub, mas por questões de segurança, é melhor revisar o código diretamente no ambiente de desenvolvimento, já que links do GitHub privados podem ter restrições de acesso.

Espero que essas dicas te ajudem a seguir em frente com o seu projeto! Se continuar com dificuldades, me avise e podemos ir ajustando!