{"id":233364,"date":"2023-02-11T19:43:00","date_gmt":"2023-02-11T16:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233364"},"modified":"2022-11-10T20:41:42","modified_gmt":"2022-11-10T17:41:42","slug":"tutorial-de-tema-wordpress-para-iniciantes-parte-5-acessando-informacoes-de-post","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/tutorial-de-tema-wordpress-para-iniciantes-parte-5-acessando-informacoes-de-post\/","title":{"rendered":"Tutorial de Tema WordPress para Iniciantes \u2013 Parte 5: Acessando Informa\u00e7\u00f5es de Post"},"content":{"rendered":"\n<p>Esta li\u00e7\u00e3o do tutorial do tema WordPress para iniciantes ser\u00e1 sobre como podemos acessar e produzir informa\u00e7\u00f5es como link, t\u00edtulo e muito mais de cada postagem quando estiver dentro do loop de postagem. Fazemos isso com tags de modelo. No processo, tamb\u00e9m adicionaremos os modelos de visualiza\u00e7\u00e3o \u00fanica ao nosso tema.<\/p>\n<p>Na <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-4-accessing-posts-with-the-loop\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">etapa anterior<\/a> adicionamos o post loop que inclui a <code>the_post()<\/code>fun\u00e7\u00e3o. Essa fun\u00e7\u00e3o configura vari\u00e1veis \u200b\u200bglobais e garante que possamos usar chamadas de fun\u00e7\u00e3o simples e intuitivas, chamadas de <a href=\"https:\/\/codex.wordpress.org\/Template_Tags\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tags de modelo<\/a>, enquanto estamos dentro do <code>while<\/code>loop.<\/p>\n<h2>Tags de modelo mais comuns para uso no loop de postagem<\/h2>\n<p>Esta \u00e9 uma lista das tags de modelo mais comuns que voc\u00ea deseja usar para acessar as informa\u00e7\u00f5es de uma postagem:<\/p>\n<ul>\n<li><code>the_title()<\/code>ecoa o t\u00edtulo do post.<\/li>\n<li><code>the_permalink()<\/code>gera o permalink\/URL da postagem.<\/li>\n<li><code>the_content()<\/code>gera o conte\u00fado da postagem (do editor)<\/li>\n<li><code>the_excerpt()<\/code>ecoa o trecho do post. Se o campo de trecho estiver vazio, isso ecoar\u00e1 as primeiras 55 palavras do conte\u00fado da postagem junto com &#8220;\u2026&quot;<\/li>\n<li><code>the_ID()<\/code>gera o ID da postagem.<\/li>\n<li><code>the_category()<\/code>ecoa todas as categorias associadas.<\/li>\n<li><code>the_tags()<\/code>gera todas as tags associadas.<\/li>\n<li><code>the_date()<\/code>ecoa a data de publica\u00e7\u00e3o do post.<\/li>\n<li><code>the_time()<\/code>gera a hora de publica\u00e7\u00e3o da postagem.<\/li>\n<li><code>the_author()<\/code>ecoa o nome de exibi\u00e7\u00e3o do autor da postagem<\/li>\n<li><code>the_post_thumbnail()<\/code>gera a imagem em destaque da postagem. Aprenderemos como adicionar suporte para miniaturas em destaque posteriormente neste tutorial.<\/li>\n<\/ul>\n<p>H\u00e1 muitos mais. Se voc\u00ea estiver interessado, d\u00ea uma olhada na <a href=\"https:\/\/codex.wordpress.org\/Template_Tags\/#Post_tags\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documenta\u00e7\u00e3o do WordPress Codex de todas as tags de postagem<\/a>. D\u00ea uma olhada fora do t\u00edtulo &#8220;tags de postagem&#8221; tamb\u00e9m para mais \u2013 elas est\u00e3o um pouco espalhadas nesta p\u00e1gina.<\/p>\n<p>Vamos come\u00e7ar a implementar algumas dessas tags em nosso <code>index.php<\/code>. Tamb\u00e9m adicionarei um HTML muito b\u00e1sico apenas para formatar melhor a sa\u00edda. Eu encorajo voc\u00ea a adicionar seu pr\u00f3prio HTML! Adicione divs, spans, se\u00e7\u00f5es, cabe\u00e7alhos e assim por diante com as classes que desejar.<\/p>\n<h2>Confeccionando o loop em index.php<\/h2>\n<p>Dentro do loop em nosso <code>index.php<\/code>eu gostaria de adicionar um link que vai para o permalink do post. Dentro do link eu gostaria de ecoar o t\u00edtulo do post. Ent\u00e3o eu tamb\u00e9m gostaria de ecoar o trecho do post e suas categorias.<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\n&lt;?php \nif (have_posts()) {\n    while (have_posts()): the_post();\n        &lt;article &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2&gt;\n                &lt;a href=\"&lt;?php the_permalink(); ?&gt;\" title=\"&lt;?php the_title(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;\/a&gt;\n            &lt;\/h2&gt;\n            &lt;?php the_excerpt(); ?&gt;\n            &lt;?php the_category(); ?&gt;\n        &lt;\/article&gt;\n    endwhile;\n    the_posts_pagination();\n} else {\n    ?&gt;&lt;p&gt;No posts, sorry.&lt;\/p&gt;&lt;?php\n}\n?&gt;\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>O que o c\u00f3digo acima faz \u00e9;<\/p>\n<ul>\n<li>A linha #5 adiciona a <code>&lt;article&gt;<\/code>tag HTML com uma chamada <code>post_class()<\/code>que gera classes post \u00fateis \u2013 exatamente como <code>body_class()<\/code>usamos em uma <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-3-dynamic-content\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">etapa anterior<\/a>.<\/li>\n<li>Na linha #6-8 adicionamos uma <code>&lt;h2&gt;<\/code>tag para o t\u00edtulo, com um link que vai para o permalink do post (single view).<\/li>\n<li>A linha #9 ecoa o trecho do post.<\/li>\n<li>E na linha #10 n\u00f3s ecoamos as categorias do post. Como n\u00e3o passo nenhum argumento para essa chamada, o padr\u00e3o \u00e9 uma <code>&lt;ul&gt;<\/code>lista.<\/li>\n<\/ul>\n<p>Isso resulta na seguinte sa\u00edda ao atualizar a p\u00e1gina inicial:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153917-61e51609c0d16.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153917-61e51609c0d16.png\" alt=\"Tutorial de Tema WordPress para Iniciantes \u2013 Parte 5: Acessando Informa\u00e7\u00f5es de Post\" ><\/a><\/p>\n<p>Estamos chegando a algum lugar! Recomendo que voc\u00ea consulte a documenta\u00e7\u00e3o de cada fun\u00e7\u00e3o de tag para quais par\u00e2metros eles aceitam. Voc\u00ea pode modificar a sa\u00edda um pouco! E decida por si mesmo quais tags de modelo usar.<\/p>\n<p>Tente clicar no link de uma postagem e veja que voc\u00ea chega a essa \u00fanica p\u00e1gina de postagem. Agora voc\u00ea pode ver que o loop mostra apenas aquele post. No entanto, como atualmente temos apenas um modelo, <code>index.php<\/code>a visualiza\u00e7\u00e3o \u00fanica tamb\u00e9m est\u00e1 usando esse modelo. Portanto, a vis\u00e3o \u00fanica n\u00e3o faz muito sentido. N\u00e3o precisamos que ele se vincule a si mesmo e queremos ver o conte\u00fado completo do post! Vamos corrigir isso criando nosso segundo modelo em nosso tema.<\/p>\n<h2>Criando modelos de visualiza\u00e7\u00e3o \u00fanica<\/h2>\n<p>Se voc\u00ea se lembra na <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-1-introduction\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">li\u00e7\u00e3o 1<\/a> do tutorial do tema WordPress para iniciantes, analisamos a hierarquia de modelos? Quando estamos em um \u00fanico post ou p\u00e1gina, o WordPress procura <code>single.php<\/code>por posts e <code>page.php<\/code>por p\u00e1ginas. Se um deles n\u00e3o for encontrado, o WordPress retorna ao <code>singular.php<\/code>que \u00e9 compartilhado, independentemente do tipo de postagem. No entanto, os temas geralmente s\u00e3o implementados <code>single.php<\/code>e <code>page.php<\/code>por causa das diferen\u00e7as entre posts e p\u00e1ginas. As p\u00e1ginas n\u00e3o possuem categorias e tags e, como as p\u00e1ginas geralmente s\u00e3o usadas para conte\u00fado est\u00e1tico, elas normalmente n\u00e3o mostram data de publica\u00e7\u00e3o nem coment\u00e1rios. Isso \u00e9 inteiramente at\u00e9 voc\u00ea embora.<\/p>\n<p>Vamos criar <code>single.php<\/code>e <code>page.php<\/code>para o nosso tema. Vamos come\u00e7ar com as postagens primeiro.<\/p>\n<h3>Modelo de postagem \u00fanica<\/h3>\n<p>Na pasta do seu tema, fa\u00e7a uma c\u00f3pia <code>index.php<\/code>e renomeie-a para <code>single.php<\/code>. Em <code>single.php<\/code>removeremos o permalink (que vincula a si mesmo) e trocaremos o trecho pelo conte\u00fado completo do post. E, finalmente, n\u00e3o precisamos de navega\u00e7\u00e3o de arquivo aqui.<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\n&lt;?php \nif (have_posts()) {\n    while (have_posts()): the_post();\n        &lt;article &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2&gt;&lt;php the_title(); ?&gt;&lt;\/h2&gt;\n            &lt;?php the_content(); ?&gt;\n            &lt;?php the_category(); ?&gt;\n        &lt;\/article&gt;\n    endwhile;\n} else {\n    ?&gt;&lt;p&gt;No posts, sorry.&lt;\/p&gt;&lt;?php\n}\n?&gt;\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>Vamos adicionar mais algumas informa\u00e7\u00f5es \u00fateis; como a data da postagem e o nome do autor. Novamente, eu encorajo voc\u00ea a adicionar tags HTML para fazer uma estrutura HTML muito melhor.<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\n&lt;?php \nif (have_posts()) {\n    while (have_posts()): the_post();\n        &lt;article &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2&gt;&lt;php the_title(); ?&gt;&lt;\/h2&gt;\n            &lt;?php the_content(); ?&gt;\n            &lt;?php the_category(); ?&gt;\n            &lt;p&gt;Posted: &lt;?php the_date(); ?&gt; at &lt;?php the_time(); ?&gt;&lt;\/p&gt;\n            &lt;p&gt;Author: &lt;?php the_author(); ?&gt;&lt;\/p&gt;\n        &lt;\/article&gt;\n    endwhile;\n} else {\n    ?&gt;&lt;p&gt;No posts, sorry.&lt;\/p&gt;&lt;?php\n}\n?&gt;\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>As fun\u00e7\u00f5es <code>the_time()<\/code>e <code>the_date()<\/code>ecoar\u00e3o a data e a hora no formato que voc\u00ea definiu no painel de administra\u00e7\u00e3o &gt; Configura\u00e7\u00f5es. No entanto, voc\u00ea pode substituir isso fornecendo um formato de data diferente como par\u00e2metro para esses m\u00e9todos.<\/p>\n<p>A fun\u00e7\u00e3o <code>the_author()<\/code>ecoa o &#8220;nome de exibi\u00e7\u00e3o&#8221; do autor. Se o usu\u00e1rio n\u00e3o forneceu nenhum outro nome em seu perfil, isso ecoar\u00e1 o nome de usu\u00e1rio.<\/p>\n<p>Recomendo <strong>fortemente<\/strong> que voc\u00ea nunca imprima nomes de usu\u00e1rio, pois isso pode representar uma amea\u00e7a \u00e0 seguran\u00e7a. Certifique-se sempre de que todos os autores tenham fornecido um nome pr\u00f3prio ou n\u00e3o use <code>the_author()<\/code>.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153917-61e5160aa02dd.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153917-61e5160aa02dd.png\" alt=\"Tutorial de Tema WordPress para Iniciantes \u2013 Parte 5: Acessando Informa\u00e7\u00f5es de Post\" ><\/a><\/p>\n<p>\u00c9 assim que um \u00fanico post parece para mim agora. Incr\u00edvel! Vamos fazer o modelo de p\u00e1gina \u00fanica.<\/p>\n<h3>Modelo de p\u00e1gina \u00fanica<\/h3>\n<p>Fa\u00e7a uma c\u00f3pia do seu <code>single.php<\/code>e renomeie-o para <code>page.php<\/code>. Tudo o que fiz <code>page.php<\/code>foi remover tudo que n\u00e3o estivesse relacionado \u00e0s p\u00e1ginas. Ecoar categorias para p\u00e1ginas n\u00e3o funcionar\u00e1, e tamb\u00e9m removi a data, hora e autor. Isto \u00e9 o que entramos <code>page.php<\/code>:<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\n&lt;?php \nif (have_posts()) {\n    while (have_posts()): the_post();\n        &lt;article &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2&gt;&lt;php the_title(); ?&gt;&lt;\/h2&gt;\n            &lt;?php the_content(); ?&gt;\n        &lt;\/article&gt;\n    endwhile;\n} else {\n    ?&gt;&lt;p&gt;No posts, sorry.&lt;\/p&gt;&lt;?php\n}\n?&gt;\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>Estamos finalmente come\u00e7ando a chegar a algum lugar com nossos modelos! No entanto, n\u00e3o posso repetir isso o suficiente; Eu encorajo voc\u00ea a modificar os modelos e os par\u00e2metros para as fun\u00e7\u00f5es ao seu gosto. Especialmente adicionando mais wrappers HTML para facilitar o estilo mais tarde.<\/p>\n<p>Na pr\u00f3xima etapa, nos afastamos um pouco dos templates e vamos mais para a codifica\u00e7\u00e3o de back-end dos temas do WordPress.<\/p>\n<h2>Documenta\u00e7\u00e3o sobre os m\u00e9todos usados<\/h2>\n<ul>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/post_class\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">post_class<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_permalink\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">the_permalink<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_title\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o t\u00edtulo<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_excerpt\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o_excerto<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_category\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">the_category<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_content\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o conte\u00fado<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_date\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a data<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_time\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">A Hora<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_author\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o autor<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta li\u00e7\u00e3o ser\u00e1 sobre como podemos acessar e produzir informa\u00e7\u00f5es de cada postagem quando estiver dentro do loop do WordPress usando tags de modelo.<\/p>\n","protected":false},"author":1,"featured_media":223885,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[930,898,898,837,1110,806,806,837,930,846,846,867,867],"tags":[1170],"class_list":["post-233364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-assuntos","category-codigo-2","category-guia-para-iniciantes","category-n-a","category-php-8","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=233364"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233364\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223885"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=233364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=233364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=233364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}