{"id":17465,"date":"2022-12-28T10:48:59","date_gmt":"2022-12-28T10:48:59","guid":{"rendered":"https:\/\/soloweb.com.br\/blog\/?p=17465"},"modified":"2023-04-02T12:52:44","modified_gmt":"2023-04-02T12:52:44","slug":"escrevendo-consultas-personalizadas-no-wordpress","status":"publish","type":"post","link":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/","title":{"rendered":"Escrevendo consultas personalizadas no WordPress"},"content":{"rendered":"\n<p>Com consultas personalizadas, voc\u00ea pode fazer qualquer leitura ou manipula\u00e7\u00e3o de dados que desejar. Isso abre um mundo de novas possibilidades.<\/p>\n\n\n\n<p>No WordPress, voc\u00ea pode usar consultas SQL para executar uma ampla gama de tarefas no banco de dados do seu site. Alguns exemplos de tarefas que voc\u00ea pode executar usando consultas SQL no WordPress incluem:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inserindo, atualizando e excluindo dados de suas tabelas de banco de dados.<\/li>\n\n\n\n<li>Selecionando dados espec\u00edficos de seu banco de dados e exibindo-os em seu site.<\/li>\n\n\n\n<li>Criando e descartando tabelas em seu banco de dados.<\/li>\n\n\n\n<li>Modificando a estrutura de suas tabelas de banco de dados, como adicionar ou remover colunas.<\/li>\n<\/ul>\n\n\n\n<p>Para usar consultas SQL no WordPress, voc\u00ea pode usar o <strong><em>$wpdb<\/em><\/strong> objeto global e seus v\u00e1rios m\u00e9todos, como <strong><em>$wpdb-&gt;query()<\/em><\/strong>, <strong><em>$wpdb-&gt;get_results()<\/em><\/strong> e <strong><em>$wpdb-&gt;insert()<\/em><\/strong>. Voc\u00ea tamb\u00e9m pode usar o <strong><em>$wpdb-&gt;prepare()<\/em><\/strong> m\u00e9todo para passar dados gerados pelo usu\u00e1rio com seguran\u00e7a para suas consultas SQL.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por que usar consultas personalizadas?<\/h2>\n\n\n\n<p>A funcionalidade b\u00e1sica do WordPress \u00e9 boa na maioria das vezes, mas o que voc\u00ea faria se tivesse algumas necessidades espec\u00edficas que ainda n\u00e3o foram atendidas pelos plug-ins existentes? Voc\u00ea est\u00e1 escrevendo seu pr\u00f3prio plugin? Ent\u00e3o voc\u00ea deve aprender como usar consultas SQL no WordPress! As refer\u00eancias oficiais podem ser encontradas no WordPress Codex ( Custom Queries e a classe WPDB ).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A classe wpdb<\/h2>\n\n\n\n<p>A classe <strong><em>wpdb<\/em><\/strong>  global do WordPress \u00e9 a chave para usar consultas personalizadas. Na verdade, quando se trata de executar consultas, quase toda API do WordPress, que precisa buscar dados no banco de dados, acaba usando essa classe em segundo plano. Para usar essa classe, voc\u00ea precisa usar a <strong><em>$wpdb<\/em><\/strong> vari\u00e1vel global, que \u00e9 uma instancia\u00e7\u00e3o da classe <strong><em>wpdb<\/em><\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O m\u00e9todo query<\/h2>\n\n\n\n<p>O m\u00e9todo query \u00e9 usado para executar uma consulta usando a conex\u00e3o de banco de dados ativa. O primeiro argumento do query m\u00e9todo \u00e9 uma instru\u00e7\u00e3o SQL v\u00e1lida. O valor de retorno deste m\u00e9todo \u00e9 um inteiro correspondente ao n\u00famero de linhas afetadas\/selecionadas ou false quando ocorre um erro.<\/p>\n\n\n\n<p>Normalmente, voc\u00ea deseja usar esse m\u00e9todo quando deseja recuperar uma contagem de registros. Vamos dar uma olhada no exemplo a seguir para entender como voc\u00ea pode usar esse m\u00e9todo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$query = \"SELECT COUNT(apple) FROM $wpdb-&gt;fruits\";\n$result = $wpdb-&gt;query($query);<\/code><\/pre>\n\n\n\n<p>Primeiramente, declaramos a <strong><em>$wpdb<\/em><\/strong> vari\u00e1vel global para podermos usar a classe <strong><em>wpdb<\/em><\/strong>. Em seguida, preparamos a instru\u00e7\u00e3o SQL e a passamos como o primeiro argumento do m\u00e9todo query que executar\u00e1 a consulta e retornar\u00e1 o n\u00famero de linhas selecionadas ou afetadas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O m\u00e9todo get_results<\/h2>\n\n\n\n<p>O m\u00e9todo <strong><em>get_results<\/em><\/strong> retorna todo o resultado da consulta, que \u00e9 um array. Cada elemento de um array corresponde a uma linha do resultado.<\/p>\n\n\n\n<p>Vamos dar uma olhada no exemplo a seguir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$query = $wpdb-&gt;prepare( \"SELECT * FROM $wpdb-&gt;wp_terms wt INNER JOIN $wpdb-&gt;wp_term_taxonomy wtt ON wt.term_id = wtt.term_id \nWHERE wtt.taxonomy = %s AND wtt.count = %d\", array( 'post_tag', 0 ) );\n\n$results = $wpdb-&gt;get_results($query);\nif (is_array($results) &amp;&amp; count($results)) {\n    foreach ($results as $row) {\n        echo $row&#91;'name'];\n    }\n}<\/code><\/pre>\n\n\n\n<p>Em primeiro lugar, usamos o m\u00e9todo prepare para preparar a consulta SQL para execu\u00e7\u00e3o segura. Em seguida, passamos a consulta preparada no primeiro argumento do m\u00e9todo <strong><em>get_results<\/em><\/strong>. Por fim, o m\u00e9todo <strong><em>get_results<\/em><\/strong> executa a consulta e retorna o resultado como um array.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O m\u00e9todo get_var<\/h2>\n\n\n\n<p>O m\u00e9todo <strong><em>get_var<\/em><\/strong> \u00e9 usado para retornar uma vari\u00e1vel do banco de dados e o resultado completo da consulta \u00e9 armazenado em cache para uso posterior. Ele retorna NULL se n\u00e3o houver resultado.<\/p>\n\n\n\n<p>Vamos dar uma olhada no exemplo a seguir para entender como ele funciona.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$query = $wpdb-&gt;prepare( \"SELECT wt.term_id, wt.name FROM $wpdb-&gt;wp_terms wt INNER JOIN $wpdb-&gt;wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = %s AND wtt.count = %d ORDER BY wtt.count DESC\", array( 'post_tag', 0 ) );\n\n$results = $wpdb-&gt;get_var($query, 1, 0);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">O get_varm\u00e9todo recebe tr\u00eas argumentos:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>consulta: a consulta SQL que voc\u00ea deseja executar<\/li>\n\n\n\n<li>coluna: o nome da coluna a ser recuperada dos resultados<\/li>\n\n\n\n<li>linha: o n\u00famero da linha espec\u00edfica que voc\u00ea deseja recuperar do conjunto de resultados<\/li>\n<\/ul>\n\n\n\n<p>No exemplo acima, tentamos recuperar o valor coluna name na primeira linha.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O M\u00e9todo get_row<\/h2>\n\n\n\n<p>O m\u00e9todo get_row \u00e9 usado para recuperar uma \u00fanica linha do banco de dados. Ele retorna NULL quando n\u00e3o h\u00e1 resultado.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$query = $wpdb-&gt;prepare( \"SELECT * FROM wp_posts WHERE post_type = %s\", 'post' );\n$row = $wpdb-&gt;get_row($query, ARRAY_A, 3);<\/code><\/pre>\n\n\n\n<p>O m\u00e9todo get_row recebe tr\u00eas argumentos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>consulta: a consulta SQL que voc\u00ea deseja executar<\/li>\n\n\n\n<li>tipo de retorno: um de <strong><em>OBJECT, ARRAY_A, ou ARRAY_N<\/em><\/strong>, que correspondem a um objeto <strong><em>stdClass<\/em><\/strong>, uma matriz associativa ou uma matriz num\u00e9rica<\/li>\n\n\n\n<li>linha: o n\u00famero da linha espec\u00edfica que voc\u00ea deseja recuperar do conjunto de resultados<\/li>\n<\/ul>\n\n\n\n<p><br>No exemplo acima, tentamos recuperar a quarta linha do conjunto de resultados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O M\u00e9todo get_col<\/h2>\n\n\n\n<p>O m\u00e9todo <strong><em>get_col<\/em><\/strong>  \u00e9 usado para recuperar a coluna espec\u00edfica do conjunto de resultados. Se o conjunto de resultados contiver apenas uma coluna, ela ser\u00e1 retornada. Por outro lado, se o conjunto de resultados contiver mais de uma coluna, ele retornar\u00e1 a coluna espec\u00edfica conforme especificado no segundo argumento.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$query = $wpdb-&gt;prepare( \"SELECT * FROM wp_posts WHERE post_type = %s\", 'post' );\n$col = $wpdb-&gt;get_col($query, 3);<\/code><\/pre>\n\n\n\n<p>No exemplo acima, tentamos recuperar a quarta coluna do conjunto de resultados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consultas Preparadas<\/h2>\n\n\n\n<p>De acordo com o manual do php.net:<\/p>\n\n\n\n<p><em><strong>\u201cElas [consultas preparadas] podem ser pensadas como uma esp\u00e9cie de modelo compilado para o SQL que um aplicativo deseja executar, que pode ser personalizado usando par\u00e2metros vari\u00e1veis\u201d.<\/strong><\/em><\/p>\n\n\n\n<p>Uma instru\u00e7\u00e3o preparada \u00e9 uma instru\u00e7\u00e3o SQL pr\u00e9-compilada que pode ser executada v\u00e1rias vezes enviando apenas os dados para o servidor. Ele tem a vantagem adicional de proteger automaticamente os dados usados \u200b\u200bnos espa\u00e7os reservados contra ataques de inje\u00e7\u00e3o de SQL. Voc\u00ea pode usar uma instru\u00e7\u00e3o preparada incluindo espa\u00e7os reservados em seu SQL.<\/p>\n\n\n\n<p>Resumindo, uma consulta deve ter escape SQL antes de ser executada para evitar ataques de inje\u00e7\u00e3o. A classe wpdb fornece o m\u00e9todo prepare que permite preparar a consulta SQL para execu\u00e7\u00e3o segura. Nos exemplos que discutimos at\u00e9 agora, j\u00e1 usamos o prepare m\u00e9todo antes de executarmos as consultas SQL.<\/p>\n\n\n\n<p>Vamos dar uma olhada r\u00e1pida no exemplo a seguir, no qual os valores 10, <strong><em>monkey e apple<\/em><\/strong> ter\u00e3o escape quando forem realmente usados \u200b\u200bna consulta.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Usage: $wpdb-&gt;prepare( 'query' &#91;, value_parameter, value_parameter ... ] ); \nglobal $wpdb;\n\n$wpdb-&gt;query( $wpdb-&gt;prepare(\n    \"INSERT INTO $wpdb-&gt;test_table (post_id, animal, food) VALUES ( %d, %s, %s )\",\n    array(\n        10,\n        'monkey',\n        'apple'\n    )\n));<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Definindo mensagens de erro<\/h2>\n\n\n\n<p>Voc\u00ea pode ativar e desativar as mensagens de erro do banco de dados com os m\u00e9todos show_errorse .hide_errors<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$wpdb-&gt;show_errors();\n$wpdb-&gt;hide_errors();<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Controle de Cache<\/h2>\n\n\n\n<p>A limpeza do cache de resultados da consulta pode ser feita com o m\u00e9todo flush.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n$wpdb-&gt;flush();<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc-q0bf-inserting-data\">Inserindo Dados<\/h2>\n\n\n\n<p>Voc\u00ea pode usar o&nbsp;<code>insert<\/code>m\u00e9todo para inserir uma linha na tabela MySQL.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$wpdb-&gt;insert(\n    $wpdb-&gt;foods,\n    array(\n        'fruit' =&gt; 'apple',\n        'year' =&gt; 2012\n    ),\n    array(\n        '%s',\n        '%d'\n    )\n);<\/code><\/pre>\n\n\n\n<p>O m\u00e9todo insert recebe tr\u00eas argumentos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tabela : o nome da tabela<\/li>\n\n\n\n<li>data : os dados a inserir (coluna =&gt; pares de valores) sem escapar<\/li>\n\n\n\n<li>format : uma matriz de formatos a serem mapeados para cada um dos valores em $data &#8211; se voc\u00ea n\u00e3o passar nada, todos os valores ser\u00e3o tratados como strings<br><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Atualizando dados<\/h2>\n\n\n\n<p>O m\u00e9todo update \u00e9 usado para atualizar uma linha na tabela MySQL.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>global $wpdb;\n\n$wpdb-&gt;update(\n    $wpdb-&gt;foods,\n    array(\n        'fruit' =&gt; 'apple',  \/\/ string \n        'year' =&gt;  'value2'  \/\/ integer (number) \n    ),\n    array( 'ID' =&gt; 1 ),\n    array(\n        '%s',   \/\/ value1 \n        '%d'    \/\/ value2 \n    ),\n    array( '%d' )\n);<\/code><\/pre>\n\n\n\n<p>O m\u00e9todo update recebe cinco argumentos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tabela: o nome da tabela.<\/li>\n\n\n\n<li>data: os dados a serem atualizados (pares coluna-valor) sem escape.<\/li>\n\n\n\n<li>where: where condi\u00e7\u00f5es na forma de matriz de par chave-valor.<\/li>\n\n\n\n<li>formato: uma matriz de formatos a serem mapeados para cada um dos valores em <strong><em>$data<\/em><\/strong>. Se voc\u00ea n\u00e3o passar nada, todos os valores ser\u00e3o tratados como strings.<\/li>\n\n\n\n<li>format onde: uma matriz de formatos a serem mapeados para cada um dos valores em <strong><em>$where<\/em><\/strong>. Se voc\u00ea n\u00e3o passar nada, todos os valores ser\u00e3o tratados como strings.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Informa\u00e7\u00f5es da coluna<\/h2>\n\n\n\n<p>O m\u00e9todo <strong><em>get_col_info<\/em><\/strong> \u00e9 usado para recuperar os metadados da coluna da \u00faltima consulta.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$wpdb-&gt;get_col_info('type', 1);<\/code><\/pre>\n\n\n\n<p>Vamos dar uma olhada nos par\u00e2metros:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>info_type: o tipo de metadados que voc\u00ea deseja recuperar. Voc\u00ea pode passar qualquer um destes: <strong><em>&#8216;name&#8217;, &#8216;table&#8217;, &#8216;def&#8217;, &#8216;max_length&#8217;, &#8216;not_null&#8217;, &#8216;primary_key&#8217;, &#8216;multiple_key&#8217;, &#8216;unique_key&#8217;, &#8216;numeric&#8217;, &#8216;blob&#8217;, &#8216;type&#8217;, &#8216;unsigned&#8217;, ou &#8216;zerofill&#8217;<\/em><\/strong>.<\/li>\n\n\n\n<li>col_offset: Especifique a coluna da qual recuperar informa\u00e7\u00f5es.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Refer\u00eancias as tabelas do WordPress<\/h2>\n\n\n\n<p>As tabelas de banco de dados do WordPress podem ser referenciadas na classe wpdb. Isso \u00e9 muito conveniente, pois os nomes das tabelas podem ser diferentes dos padr\u00f5es. Aqui est\u00e1 uma lista de refer\u00eancias de tabelas de banco de dados do WordPress:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$wpdb-&gt;posts;\n$wpdb-&gt;postmeta;\n$wpdb-&gt;comments;\n$wpdb-&gt;commentmeta;\n$wpdb-&gt;terms;\n$wpdb-&gt;term_taxonomy;\n$wpdb-&gt;term_relationships;\n$wpdb-&gt;users;\n$wpdb-&gt;usermeta;\n$wpdb-&gt;links;\n$wpdb-&gt;options;<\/code><\/pre>\n\n\n\n<p>Observe que n\u00e3o precisamos incluir o prefixo.&nbsp;Esse \u00e9 o benef\u00edcio aqui, j\u00e1 que a&nbsp;<code>wpdb<\/code>classe cuida disso para n\u00f3s.<\/p>\n\n\n\n<p>\u00c9 importante observar que o uso de consultas SQL no WordPress requer um entendimento b\u00e1sico de SQL e gerenciamento de banco de dados. Tamb\u00e9m \u00e9 importante ter cuidado ao usar consultas SQL, pois o uso indevido pode danificar o banco de dados do seu site.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Com consultas personalizadas, voc\u00ea pode fazer qualquer leitura ou manipula\u00e7\u00e3o de dados que desejar. Isso abre um mundo de novas<\/p>\n","protected":false},"author":4,"featured_media":17466,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[302,303,31],"tags":[352,253,64],"class_list":["post-17465","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destaque-principal","category-destaque-secundario","category-wordpress-2","tag-consultas","tag-sql","tag-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Escrevendo consultas personalizadas no WordPress - SOLOWEB Tecnologia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Escrevendo consultas personalizadas no WordPress - SOLOWEB Tecnologia\" \/>\n<meta property=\"og:description\" content=\"Com consultas personalizadas, voc\u00ea pode fazer qualquer leitura ou manipula\u00e7\u00e3o de dados que desejar. Isso abre um mundo de novas\" \/>\n<meta property=\"og:url\" content=\"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"SOLOWEB Tecnologia\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-28T10:48:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-02T12:52:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/12\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"940\" \/>\n\t<meta property=\"og:image:height\" content=\"787\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carlos Rolim\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlos Rolim\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/\"},\"author\":{\"name\":\"Carlos Rolim\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/b10ff5bc260b411c2d82b19fad8ae3f1\"},\"headline\":\"Escrevendo consultas personalizadas no WordPress\",\"datePublished\":\"2022-12-28T10:48:59+00:00\",\"dateModified\":\"2023-04-02T12:52:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/\"},\"wordCount\":1384,\"publisher\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg\",\"keywords\":[\"consultas\",\"sql\",\"wordpress\"],\"articleSection\":[\"Destaque Principal\",\"Destaque Secund\u00e1rio\",\"Wordpress\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/\",\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/\",\"name\":\"Escrevendo consultas personalizadas no WordPress - SOLOWEB Tecnologia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg\",\"datePublished\":\"2022-12-28T10:48:59+00:00\",\"dateModified\":\"2023-04-02T12:52:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#primaryimage\",\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg\",\"contentUrl\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg\",\"width\":940,\"height\":787},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/2022\\\/12\\\/28\\\/escrevendo-consultas-personalizadas-no-wordpress\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Escrevendo consultas personalizadas no WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/\",\"name\":\"SOLOWEB Tecnologia\",\"description\":\"SOLOWEB Tecnologia\",\"publisher\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#organization\",\"name\":\"SOLOWEB Tecnologia\",\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-solo.png\",\"contentUrl\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-solo.png\",\"width\":341,\"height\":94,\"caption\":\"SOLOWEB Tecnologia\"},\"image\":{\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/b10ff5bc260b411c2d82b19fad8ae3f1\",\"name\":\"Carlos Rolim\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/avatar_user_4_1674993909-96x96.png\",\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/avatar_user_4_1674993909-96x96.png\",\"contentUrl\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/avatar_user_4_1674993909-96x96.png\",\"caption\":\"Carlos Rolim\"},\"sameAs\":[\"http:\\\/\\\/carlosrolim.com\"],\"url\":\"https:\\\/\\\/soloweb.com.br\\\/blog\\\/author\\\/carlos\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Escrevendo consultas personalizadas no WordPress - SOLOWEB Tecnologia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/","og_locale":"pt_BR","og_type":"article","og_title":"Escrevendo consultas personalizadas no WordPress - SOLOWEB Tecnologia","og_description":"Com consultas personalizadas, voc\u00ea pode fazer qualquer leitura ou manipula\u00e7\u00e3o de dados que desejar. Isso abre um mundo de novas","og_url":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/","og_site_name":"SOLOWEB Tecnologia","article_published_time":"2022-12-28T10:48:59+00:00","article_modified_time":"2023-04-02T12:52:44+00:00","og_image":[{"width":940,"height":787,"url":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/12\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg","type":"image\/jpeg"}],"author":"Carlos Rolim","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Carlos Rolim","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#article","isPartOf":{"@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/"},"author":{"name":"Carlos Rolim","@id":"https:\/\/soloweb.com.br\/blog\/#\/schema\/person\/b10ff5bc260b411c2d82b19fad8ae3f1"},"headline":"Escrevendo consultas personalizadas no WordPress","datePublished":"2022-12-28T10:48:59+00:00","dateModified":"2023-04-02T12:52:44+00:00","mainEntityOfPage":{"@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/"},"wordCount":1384,"publisher":{"@id":"https:\/\/soloweb.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/12\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg","keywords":["consultas","sql","wordpress"],"articleSection":["Destaque Principal","Destaque Secund\u00e1rio","Wordpress"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/","url":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/","name":"Escrevendo consultas personalizadas no WordPress - SOLOWEB Tecnologia","isPartOf":{"@id":"https:\/\/soloweb.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/12\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg","datePublished":"2022-12-28T10:48:59+00:00","dateModified":"2023-04-02T12:52:44+00:00","breadcrumb":{"@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#primaryimage","url":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/12\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg","contentUrl":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/12\/WhatsApp-Image-2022-12-28-at-07.45.52.jpeg","width":940,"height":787},{"@type":"BreadcrumbList","@id":"https:\/\/soloweb.com.br\/blog\/2022\/12\/28\/escrevendo-consultas-personalizadas-no-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/soloweb.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Escrevendo consultas personalizadas no WordPress"}]},{"@type":"WebSite","@id":"https:\/\/soloweb.com.br\/blog\/#website","url":"https:\/\/soloweb.com.br\/blog\/","name":"SOLOWEB Tecnologia","description":"SOLOWEB Tecnologia","publisher":{"@id":"https:\/\/soloweb.com.br\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/soloweb.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/soloweb.com.br\/blog\/#organization","name":"SOLOWEB Tecnologia","url":"https:\/\/soloweb.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/soloweb.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/cropped-solo.png","contentUrl":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/cropped-solo.png","width":341,"height":94,"caption":"SOLOWEB Tecnologia"},"image":{"@id":"https:\/\/soloweb.com.br\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/soloweb.com.br\/blog\/#\/schema\/person\/b10ff5bc260b411c2d82b19fad8ae3f1","name":"Carlos Rolim","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2023\/01\/avatar_user_4_1674993909-96x96.png","url":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2023\/01\/avatar_user_4_1674993909-96x96.png","contentUrl":"https:\/\/soloweb.com.br\/blog\/wp-content\/uploads\/2023\/01\/avatar_user_4_1674993909-96x96.png","caption":"Carlos Rolim"},"sameAs":["http:\/\/carlosrolim.com"],"url":"https:\/\/soloweb.com.br\/blog\/author\/carlos\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/17465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=17465"}],"version-history":[{"count":3,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/17465\/revisions"}],"predecessor-version":[{"id":17813,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/17465\/revisions\/17813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/media\/17466"}],"wp:attachment":[{"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=17465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=17465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soloweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=17465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}