{"id":67905,"date":"2024-04-08T15:32:33","date_gmt":"2024-04-08T18:32:33","guid":{"rendered":"https:\/\/kinqsta.com\/pt\/?p=67905&#038;preview=true&#038;preview_id=67905"},"modified":"2024-04-19T08:04:46","modified_gmt":"2024-04-19T11:04:46","slug":"wp-rest-api-endpoint-personalizados","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/","title":{"rendered":"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados"},"content":{"rendered":"<p>O <a href=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-wordpress\/\">WordPress<\/a> \u00e9 um dos <a href=\"https:\/\/kinqsta.com\/pt\/blog\/sistema-de-gerenciamento-de-conteudo\/\">sistemas de gerenciamento de conte\u00fado<\/a> (CMSs) mais populares do mundo, ajudando pequenas e grandes empresas a configurar e criar v\u00e1rias formas de conte\u00fado de sites. Mas o WordPress evoluiu para al\u00e9m do suporte ao conte\u00fado tradicional de blogs, e isso se deve em grande parte \u00e0 sua API REST.<\/p>\n<p>A <a href=\"https:\/\/kinqsta.com\/pt\/blog\/wordpress-rest-api\/\">API REST do WordPress<\/a> conecta o WordPress e outros aplicativos web externos. Ela torna a comunica\u00e7\u00e3o mais acess\u00edvel e ajuda a criar experi\u00eancias imersivas e envolventes na web, que se integram perfeitamente \u00e0 plataforma CMS.<\/p>\n<p>Essa API usa endpoints para recuperar e manipular o conte\u00fado do WordPress como objetos JSON. Com esses endpoints, voc\u00ea pode criar, ler, atualizar e excluir (CRUD) o conte\u00fado do WordPress remotamente sem fazer login na conta de <a href=\"https:\/\/kinqsta.com\/pt\/blog\/painel-administrativo-wordpress\/\">administrador do WordPress<\/a>, proporcionando flexibilidade e ampliando a funcionalidade do WordPress al\u00e9m de seus recursos padr\u00e3o.<\/p>\n<p>Este guia explora o que \u00e9 a API REST do WordPress, seus benef\u00edcios, como expande as funcionalidades b\u00e1sicas do WordPress, e como criar, registrar e acessar um endpoint personalizado.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Pr\u00e9-requisitos<\/h2>\n<p>Para seguir este tutorial, voc\u00ea precisa de:<\/p>\n<ul>\n<li>Conhecimento da API REST<\/li>\n<li>Uma configura\u00e7\u00e3o de site WordPress (voc\u00ea pode <a href=\"https:\/\/kinqsta.com\/pt\/docs\/hospedagem-de-wordpress\/como-comecar-wordpress\/novo-site\/\">configurar um facilmente com o painel MyKinsta<\/a>)<\/li>\n<li>Conhecimento de como usar o <a href=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-wordpress\/\">WordPress<\/a> e <a href=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-php\/\">PHP<\/a><\/li>\n<\/ul>\n<h2>Entendendo a API REST do WordPress<\/h2>\n<p>A API REST do WordPress \u00e9 uma interface poderosa que permite interagir com sites WordPress de forma program\u00e1tica usando m\u00e9todos <a href=\"https:\/\/kinqsta.com\/pt\/topicos\/codigos-status-http\/\">HTTP<\/a> padr\u00e3o.<\/p>\n<p>Seus recursos padr\u00e3o incluem o acesso e a manipula\u00e7\u00e3o de v\u00e1rios tipos de dados do WordPress, como publica\u00e7\u00f5es, p\u00e1ginas, coment\u00e1rios, usu\u00e1rios e taxonomias, em um formato JSON estruturado. Voc\u00ea tamb\u00e9m pode executar remotamente a\u00e7\u00f5es CRUD no conte\u00fado.<\/p>\n<p>Por\u00e9m, o verdadeiro valor da API REST do WordPress reside em sua extensibilidade por meio de endpoints personalizados. Voc\u00ea pode criar endpoints personalizados para adaptar a API a necessidades espec\u00edficas, como a integra\u00e7\u00e3o de funcionalidades adicionais, servi\u00e7os de terceiros ou estruturas de dados exclusivas. Essa flexibilidade permite criar aplicativos altamente personalizados e ricos em recursos com base no WordPress.<\/p>\n<h2>Como planejar seu endpoint de API personalizado<\/h2>\n<p>Planejar a estrutura e a finalidade dos seus endpoints personalizados \u00e9 fundamental para o desenvolvimento eficiente da API. Endpoints personalizados adaptados \u00e0s suas necessidades espec\u00edficas exigem uma considera\u00e7\u00e3o cuidadosa para garantir a funcionalidade ideal. O planejamento estrat\u00e9gico facilita a escalabilidade e a adaptabilidade, preparando os endpoints para o futuro a fim de adequ\u00e1-los \u00e0s necessidades dos neg\u00f3cios, que est\u00e3o sempre em evolu\u00e7\u00e3o.<\/p>\n<p>Planejar os endpoints da sua API personalizada antes da implementa\u00e7\u00e3o proporciona:<\/p>\n<ul>\n<li><strong>Clareza da fun\u00e7\u00e3o do endpoint<\/strong> \u2014 Planejar o seu endpoint deixa clara a sua fun\u00e7\u00e3o espec\u00edfica, os tipos de dados esperados e a sua forma de utiliza\u00e7\u00e3o.<\/li>\n<li><strong>Consist\u00eancia e efici\u00eancia no desenvolvimento<\/strong> \u2014 O planejamento tamb\u00e9m garante a consist\u00eancia no uso dos endpoints, dos tipos de resposta e da formata\u00e7\u00e3o, o que melhora a intera\u00e7\u00e3o com a API. Al\u00e9m disso, o conhecimento da finalidade da API permite a implementa\u00e7\u00e3o adequada, reduzindo o tempo de desenvolvimento e o risco de erros.<\/li>\n<li><strong>Escalabilidade e adaptabilidade<\/strong> \u2014 A defini\u00e7\u00e3o das necessidades do seu endpoint ajuda a prepar\u00e1-lo para o futuro, a fim de acomodar as necessidades e os requisitos do neg\u00f3cio, que mudam constantemente, sem a necessidade de uma reformula\u00e7\u00e3o completa.<\/li>\n<li><strong>Seguran\u00e7a <\/strong>\u2014 O planejamento adequado do endpoint ajuda a determinar a necessidade de autentica\u00e7\u00e3o para acessar ou manipular dados. Obter conte\u00fado por meio da API \u00e0s vezes n\u00e3o envolve autentica\u00e7\u00e3o de usu\u00e1rio. Ainda assim, para conte\u00fado que cont\u00e9m dados confidenciais ou n\u00e3o autorizados, \u00e9 essencial definir requisitos de seguran\u00e7a e implementar medidas como autoriza\u00e7\u00e3o e controles de acesso para ajudar a garantir a seguran\u00e7a dos dados.<\/li>\n<\/ul>\n<p>As se\u00e7\u00f5es pr\u00e1ticas a seguir explicam como voc\u00ea pode criar um endpoint personalizado que est\u00e1 dispon\u00edvel em <code>site-domain\/wp-json\/custom\/v2\/testimonials<\/code> para recuperar depoimentos de clientes de um site de banco de dados do WordPress.<\/p>\n<p>Ap\u00f3s enviar uma solicita\u00e7\u00e3o, o endpoint retorna um objeto JSON que cont\u00e9m informa\u00e7\u00f5es sobre os depoimentos em seu site WordPress, conforme definido em sua fun\u00e7\u00e3o callback.<\/p>\n<p>Vamos come\u00e7ar!<\/p>\n<h2>Crie um tipo personalizado<span style=\"color: var(--kmt-sys-color-text-neutral-strong);background-color: var(--kmt-sys-color-background-neutral-weak, #f9f5f3)\" data-darkreader-inline-color data-darkreader-inline-bgcolor>de artigo para o seu endpoint<\/span><\/h2>\n<p>Primeiro, voc\u00ea precisa criar um tipo de artigo personalizado.<\/p>\n<ol start=\"1\">\n<li>Navegue at\u00e9 o <strong>Theme File Editor<\/strong> na se\u00e7\u00e3o <strong>Appearance <\/strong>do <a href=\"https:\/\/kinqsta.com\/pt\/blog\/painel-administrativo-wordpress\/\">painel do WordPress<\/a>.<\/li>\n<li>Abra o arquivo <strong>function.php<\/strong> do seu tema e adicione o seguinte c\u00f3digo:\n<pre><code class=\"language-php\">function create_custom_testimonial_type() {\n    register_post_type('testimonials', array(\n        'labels' =&gt; array(\n            'name' =&gt; 'Testimonials',\n            'singular_name' =&gt; 'Testimonial',\n        ),\n        'public' =&gt; true,\n        'has_archive' =&gt; true,\n        'show_in_rest' =&gt; true, \/\/ This enables REST API support\n    ));\n}\nadd_action('init', 'create_custom_testimonial_type');<\/code><\/pre>\n<p>Esse c\u00f3digo cria o <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/\" target=\"_blank\" rel=\"noopener noreferrer\">tipo de artigo<\/a> personalizado &#8220;testimonials&#8221; e ativa o suporte \u00e0 API REST do WordPress (<code>'show_in_rest' =&gt; true<\/code>). A fun\u00e7\u00e3o <code><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_action\/\" target=\"_blank\" rel=\"noopener noreferrer\">add_action hook<\/a><\/code> chama a fun\u00e7\u00e3o callback <code>create_testimonial_type<\/code> e a inicia durante a execu\u00e7\u00e3o.<\/p>\n<p>Voc\u00ea pode personalizar as etiquetas e os argumentos removendo ou adicionando para atender \u00e0s suas necessidades.<\/li>\n<li>Clique em <strong>Update File <\/strong>(Atualizar arquivo) para salvar suas altera\u00e7\u00f5es.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/creating-custom-testimonial-post-type.jpg\" alt=\"Criando um tipo de artigo &lt;code&gt;custom_testimonial&lt;\/code&gt;.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Criando um tipo de artigo <code>custom_testimonial<\/code>.<\/figcaption><\/figure>\n<p>Atualize o painel para ver a op\u00e7\u00e3o <strong>Testimonials<\/strong> (Depoimentos) adicionada ao painel do WordPress.<\/p>\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/post-type-created.jpg\" alt=\"O tipo de artigo \"testimonial\" rec\u00e9m-criado.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">O tipo de artigo &#8220;testimonial&#8221; rec\u00e9m-criado.<\/figcaption><\/figure><\/li>\n<li>Para criar uma novo artigo contendo depoimentos, clique em <strong>Testimonials &gt; Add New Post<\/strong>. Voc\u00ea pode usar o bloco <strong>Pullquote<\/strong>. Dependendo de como voc\u00ea apresenta o depoimento, tamb\u00e9m pode usar outros blocos.<\/li>\n<\/ol>\n<p>Aqui est\u00e3o dois exemplos de depoimentos criados usando os blocos Pullquote:<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/two-testimonials-added.jpg\" alt=\"Depoimentos rec\u00e9m-criados.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Depoimentos rec\u00e9m-criados.<\/figcaption><\/figure>\n<h2>Registre um endpoint personalizado no WordPress<\/h2>\n<p>O registro de um endpoint personalizado o torna dispon\u00edvel para consumo por meio da API REST. Isso envolve o uso da fun\u00e7\u00e3o <code>register_rest_route<\/code>, chamando no hook <code><a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/rest_api_init\/\" target=\"_blank\" rel=\"noopener noreferrer\">rest_api_init<\/a><\/code> e fornecendo um m\u00e9todo callback que ser\u00e1 invocado quando o caminho for chamado.<\/p>\n<p>Cole o c\u00f3digo a seguir no arquivo <strong>function.php<\/strong> do seu tema:<\/p>\n<pre><code class=\"language-php\">add_action( 'rest_api_init', 'register_testimonial_rest_route' );\n \nfunction register_testimonial_rest_route(){\n\tregister_rest_route(\n\t\t'custom\/v2',\n\t\t'\/testimonials',\n\t\tarray(\n\t\t\t'methods' =&gt; 'GET',\n\t\t\t'callback' =&gt; 'get_testimonials',\n\t\t)\n\t);\n}<\/code><\/pre>\n<p>Essa fun\u00e7\u00e3o <code><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_rest_route\/\" target=\"_blank\" rel=\"noopener noreferrer\">register_rest_route()<\/a><\/code> recebe tr\u00eas par\u00e2metros:<\/p>\n<ul>\n<li><strong>Route Namespace<\/strong> (<code>$route_namespace<\/code>) \u2014 Esta \u00e9 a primeira parte do segmento de URL e deve seguir o padr\u00e3o fornecedor\/n\u00famero de vers\u00e3o. O fornecedor representa o slug do fornecedor ou do tema. O namespace ajuda a diferenciar os endpoints e ajuda os clientes a entrar em contato com o suporte para o seu endpoint personalizado. Este tutorial usa o namespace <code>custom\/v2<\/code>.<\/li>\n<li><strong>A URL de base <\/strong> (<code>$route<\/code>) \u2014 Segue o namespace e \u00e9 uma URL mapeada para um m\u00e9todo. Voc\u00ea pode registrar mais de um \u00fanico endpoint para o seu caminho. Para este tutorial, voc\u00ea usa o caminho <code>\/testimonials<\/code>, que informa ao endpoint para recuperar depoimentos.<\/li>\n<li><strong>As op\u00e7\u00f5es do endpoint (<code>$args<\/code>) \u2014 Aqui, trata-se de um array que cont\u00e9m o m\u00e9todo HTTP usado ao chamar o caminho e a fun\u00e7\u00e3o callback que o endpoint invocar\u00e1 quando voc\u00ea enviar uma solicita\u00e7\u00e3o. Examinaremos essa fun\u00e7\u00e3o callback na pr\u00f3xima se\u00e7\u00e3o.<\/strong><\/li>\n<\/ul>\n<p>Por fim, anote o endere\u00e7o do endpoint. O formato de um endpoint \u00e9 <code>site-address\/wp-json\/namespace\/route<\/code>. Portanto, neste exemplo, o endpoint ser\u00e1 <code>https:\/\/www.staging.kidspartysanctuary.co.uk\/wp-json\/custom\/v2\/testimonials<\/code>.<\/p>\n<h2>Implemente a fun\u00e7\u00e3o callback para o endpoint<\/h2>\n<p>Ap\u00f3s criar o tipo personalizado de artigo e registrar o endpoint personalizado, a pr\u00f3xima etapa \u00e9 escrever a fun\u00e7\u00e3o callback. Essa fun\u00e7\u00e3o \u00e9 chamada sempre que o endpoint \u00e9 acessado.<\/p>\n<ol start=\"1\">\n<li>Declare sua fun\u00e7\u00e3o callback <code>get_testimonials<\/code> usando o c\u00f3digo abaixo:\n<pre><code class=\"language-php\">function get_testimonials(){\n\n}<\/code><\/pre>\n<\/li>\n<li>Inicialize um array de depoimentos vazio para armazenar os dados de depoimentos do WordPress recuperados:\n<pre><code class=\"language-php\">$testimonials = array();<\/code><\/pre>\n<\/li>\n<li>Configure um array chamado <code>$args<\/code> com par\u00e2metros de consulta para uma chamada <code><a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/\" target=\"_blank\" rel=\"noopener noreferrer\">WP_Query<\/a><\/code>.\n<pre><code class=\"language-php\">$args = array(\n    'post_type' =&gt; 'testimonials', \/\/specifies you want to query the custom post type   \n'testimonial',\n    'nopaging' =&gt; true,  \/\/ no pagination, but retrieve all testimonials at once\n),<\/code><\/pre>\n<\/li>\n<li>Crie uma inst\u00e2ncia da classe <code>WP_Query<\/code> que receba o array <code>$args<\/code>, execute uma consulta com base nos par\u00e2metros especificados e armazene os resultados da consulta do WordPress na vari\u00e1vel <code>$query<\/code>.\n<pre><code class=\"language-php\">$query = new WP_Query($args)<\/code><\/pre>\n<\/li>\n<li>Escreva uma instru\u00e7\u00e3o condicional para verificar se h\u00e1 algum artigo de depoimento. Em seguida, crie um loop <code>while<\/code> para iterar os artigos de depoimentos e retornar <code>title<\/code> e <code>content<\/code>\u00a0delas.\n<pre><code class=\"language-php\">if ( $query-&gt;have_posts() ) {\n        while ( $query-&gt;have_posts() ) {\n            $query-&gt;the_post();\n            $testimonial_data = array( \/*an array that stores the title \nand content of every post*\/\n            'title' =&gt; get_the_title(),\n                'content' =&gt; get_the_content(),\n                \/\/ Add other fields as needed\n            );\n            $testimonials[] = $testimonial_data; \n        }\n        wp_reset_postdata(); \/* restores $post \nglobal to the current post to avoid any conflicts in subsequent queries*\/\n    }\n    return rest_ensure_response( $testimonials ); \/*ensures response is \ncorrectly set as a response object for consistency*\/<\/code><\/pre>\n<p>Aqui est\u00e1 o c\u00f3digo completo:<\/p>\n<pre><code class=\"language-php\">function get_testimonials() {\n$testimonials = array();\n$args = array(\n    'post_type' =&gt; 'testimonials',\n    'nopaging' =&gt; true,\n);\n$query = new WP_Query( $args );\nif ( $query-&gt;have_posts() ) {\n    while ( $query-&gt;have_posts() ) {\n        $query-&gt;the_post();\n        $testimonial_data = array(\n            'title' =&gt; get_the_title(),\n            'content' =&gt; get_the_content(),\n            \/\/ Add other fields as needed\n        );\n        $testimonials[] = $testimonial_data;\n    }\n    wp_reset_postdata();\n}\nreturn rest_ensure_response( $testimonials );\n}<\/code><\/pre>\n<\/li>\n<li>Teste seu endpoint usando o <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Postman<\/a> para verificar se voc\u00ea pode acessar seus dados.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/testing-with-postman.png\" alt=\"O Postman mostrando uma resposta bem-sucedida.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">O Postman mostrando uma resposta bem-sucedida.<\/figcaption><\/figure>\n<p>Voc\u00ea tamb\u00e9m pode testar isso usando um navegador. Para acessar o endpoint, digite a URL <code>site-domain\/wp-json\/custom\/v2\/testimonials<\/code> na barra de endere\u00e7os.<\/p>\n<p><figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/testing-with-browser.png\" alt=\"Screenshot of the endpoint being successfully accessed in a web browser\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">O resultado no navegador quando o endpoint \u00e9 acessado.<\/figcaption><\/figure><\/li>\n<\/ol>\n<h2>Resumo<\/h2>\n<p>Este tutorial explicou como implementar um endpoint personalizado da API do WordPress. Para permitir que os usu\u00e1rios acessem e interajam com os dados do seu banco de dados do WordPress, voc\u00ea s\u00f3 precisa registrar o caminho que implementa uma fun\u00e7\u00e3o callback.<\/p>\n<p>Quer saber como maximizar o WordPress para os seus neg\u00f3cios? A Kinsta oferece v\u00e1rias op\u00e7\u00f5es avan\u00e7adas como parte do nosso <a href=\"https:\/\/kinqsta.com\/pt\/hospedagem-wordpress\/\">servi\u00e7o de hospedagem gerenciada WordPress<\/a> para ajudar a atender \u00e0s necessidades \u00fanicas do seu neg\u00f3cio. Uma op\u00e7\u00e3o a considerar \u00e9 o <a href=\"https:\/\/kinqsta.com\/pt\/docs\/hospedagem-de-wordpress\/plugin-mu-kinsta\/\">plugin Kinsta MU (must-use)<\/a>, que gerencia e implementa o armazenamento em cache em seu site a fim de reduzir a lat\u00eancia e melhorar o desempenho. <a href=\"https:\/\/kinqsta.com\/pt\/inscreva-se\/wp\/\">Experimente a Kinsta hoje mesmo!<\/a><\/p>\n<p><em>Qual \u00e9 a sua opini\u00e3o sobre o desenvolvimento de endpoints de API personalizados do WordPress? Voc\u00ea j\u00e1 projetou algum? Gostar\u00edamos muito de ouvir sobre suas experi\u00eancias. Compartilhe-as na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O WordPress \u00e9 um dos sistemas de gerenciamento de conte\u00fado (CMSs) mais populares do mundo, ajudando pequenas e grandes empresas a configurar e criar v\u00e1rias formas &#8230;<\/p>\n","protected":false},"author":199,"featured_media":67906,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[951,1026,1036],"class_list":["post-67905","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-desenvolvimento-wordpress","topic-temas-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados\" \/>\n<meta property=\"og:description\" content=\"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-08T18:32:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-19T11:04:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api-1024x512.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado 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:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados\",\"datePublished\":\"2024-04-08T18:32:33+00:00\",\"dateModified\":\"2024-04-19T11:04:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\"},\"wordCount\":1528,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\",\"url\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\",\"name\":\"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"datePublished\":\"2024-04-08T18:32:33+00:00\",\"dateModified\":\"2024-04-19T11:04:46+00:00\",\"description\":\"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"contentUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinqsta.com\/pt\/topicos\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#website\",\"url\":\"https:\/\/kinqsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinqsta.com\/pt\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados - Kinsta\u00ae","description":"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.","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:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/","og_locale":"pt_PT","og_type":"article","og_title":"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados","og_description":"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.","og_url":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2024-04-08T18:32:33+00:00","article_modified_time":"2024-04-19T11:04:46+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.","twitter_image":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api-1024x512.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tempo estimado de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados","datePublished":"2024-04-08T18:32:33+00:00","dateModified":"2024-04-19T11:04:46+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/"},"wordCount":1528,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/","url":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/","name":"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinqsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","datePublished":"2024-04-08T18:32:33+00:00","dateModified":"2024-04-19T11:04:46+00:00","description":"Saiba como aprimorar seu site WordPress criando tipos personalizados de publica\u00e7\u00f5es e configurando seus endpoints de API REST.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#primaryimage","url":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","contentUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/pt\/blog\/wp-rest-api-endpoint-personalizados\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinqsta.com\/pt\/topicos\/api\/"},{"@type":"ListItem","position":3,"name":"Personalizando o WordPress para Desenvolvedores: Desenvolvendo Endpoints de API REST Personalizados"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/pt\/#website","url":"https:\/\/kinqsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinqsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinqsta.com\/pt\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts\/67905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/comments?post=67905"}],"version-history":[{"count":8,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts\/67905\/revisions"}],"predecessor-version":[{"id":68007,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts\/67905\/revisions\/68007"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/translations\/de"},{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67905\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/media\/67906"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/media?parent=67905"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/tags?post=67905"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/topic?post=67905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}