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,





















