0
46

SHARE

Como Consultar Dados no BD do WordPress?

Como Consultar Dados no BD do WordPress usando a Classe wpdb?

Quero mostrar a você nesse post Como consultados dados no BD do WordPress diretamente em tabelas MySQL usando a Classe wpdb.

Essa classe de objetos de dados nativa do WordPress permite executar facilmente várias ações no banco de dados MySQL.

Basicamente quando você chamar a classe wpdb, você vai fazer uma solicitação do arquivo includes/wp-db.php.

Portanto, para executar consultas SQL, vamos usar essa classe incrível, primeiro instanciando-a, em seguida usando alguns dos seus muitos métodos.

Você pode ver a lista de métodos aqui.

Na verdade, o que precisamos fazer para usar essa classe é usar a variável global $wpdb antes de rodar qualquer função da classe.

global $wpdb;

Como executar consultas no Banco de Dados do WordPress?

Depois que chamamos nossa variável global $wpdb podemos já executar algumas funções – ou métodos – da classe wpdb.

Um dos mais usados talvez seja o método $wpdb->query que serve para rodar qualquer comando SQL, mas é muito utilizado para SELECT e DELETE.

$wpdb->query : Qualquer consulta MySQL

$wpdb->query($wpdb->prepare ("DELETE FROM $wpdb->tabelaDesejada WHERE ID = 1" ));

Como você pode ver no código acima, usamos tabelaDesejada para referenciar uma tabela do banco de dados na nossa consulta.

$wpdb->get_var : Retorna uma única variável

$count_posts = $wpdb->get_var( $wpdb->prepare(" SELECT COUNT(*) FROM $wpdb->wp_posts" ));
echo "$count_posts";

Perceba acima que, como estamos fazendo um SELECT apenas para contar o número de registros, podemos usar o método get_var para esse propósito.

$wpdb->get_row : Retorna uma única linha

Se você quer buscar apenas um registro em uma tabela, basta usar o método get_row().

Tem um truquezinho aqui que você pode usar que é passar os parâmetros PRODUCT_ARRAY ou PRODUCT_ARR_ALL no final do método.

Já que o retorno do get_row é um objeto, você pode usar esses dois parâmetros para retornar um array associativo ou com índice numérico, respectivamente:

$wpdb->get_row( $wpdb->prepare( "SELECT * from $wpdb->posts WHERE ID=1"), PRODUCT_ARRAY );

$wpdb->get_results : Retorna múltiplas linhas

Vimos acima o método para retornar uma única linha, mas aqui está o método para retornar múltiplas linhas:

$wpdb->get_results( $wpdb->get_results( $wpdb->prepare( " SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' "));

É fácil ver que estamos fazendo uma consulta no WordPress para buscar todos os posts publicados – Isso retorna um objeto.

$wpdb->insert : Inserir registro

Para adicionar um registro a uma tabela no WordPress é muito simples com o método insert()

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

Note que estamos passando uma variável que vai conter o nome da tabela (table) e uma para passar os dados a serem inseridos ($data).

$wpdb->update : Atualiza um registro

Para atualizar um registro a uma tabela no WordPress é muito simples com o método update()

$wpdb->update( $table, $data, $where );

$wpdb->num_rows : Retorna o número de linhas

Se você quer saber o número de linhas que uma consulta retornaria, basta usar o método num_rows().

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

$wpdb->print_error : Exibe erros de SQL

Se você deseja debugar seus comandos SQL, pode usar o método print_error() para mostrar qualquer erro com seu SQL:

$wpdb->show_errors();

//Ex:ID (3000) inexistente:
$wpdb->get_row( $wpdb->prepare(" SELECT * FROM $wpdb->posts WHERE ID = 3000"); 
$wpdb->print_error();

Você pode usar o método show_errors() antes de executar a consulta SQL e o print_error() logo após a execução.

$wpdb->last_query : Imprime a última consulta

Isso pode ser bem útil quando uma determinada consulta não está funcionado da forma esperada:

var_dump( $wpdb->last_query ); 

Esse foi um guia bem rápido de utilização da classe wpdb e você pode deixar suas dúvidas nos comentários abaixo.

Vamos utilizar bastante essa classe para vários objetivos nos próximos posts, então, vale a pena você dar uma estudada nela.

Grande abraço,

Não perca mais nenhuma atualização aqui!

Ative as Notificações!

Clique aqui e, em seguida, clique em Permitir na caixa que aparecerá na parte superior da janela, próximo à barra de endereços.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! Ao se tornar um assinante do WP24Horas, você terá acesso a:

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Não perca mais nenhuma atualização aqui!

Tabela de Conteúdo
PUBLICIDADE
Últimos Posts
Conclusão: Resumo e Próximos Passos no Desenvolvimento WordPress

Conclusão: Resumo e Próximos Passos no Desenvolvimento WordPress

Recursos e Comunidade: Onde Buscar Suporte e Continuar Aprendendo

Recursos e Comunidade: Onde Buscar Suporte e Continuar Aprendendo

Desenvolvimento WordPress como Profissão: Vale a Pena?

Desenvolvimento WordPress como Profissão: Vale a Pena?

Otimização para SEO e Performance no WordPress

Otimização para SEO e Performance no WordPress

Segurança no Desenvolvimento WordPress: Mantendo seu Site Seguro

Segurança no Desenvolvimento WordPress: Mantendo seu Site Seguro

Explorando a REST API do WordPress: Integrações e Funcionalidades Avançadas

Você precisa estar logado para ver esta informação.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!