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!