{"id":233834,"date":"2023-02-22T19:40:00","date_gmt":"2023-02-22T16:40:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233834"},"modified":"2022-11-11T12:42:23","modified_gmt":"2022-11-11T09:42:23","slug":"guia-do-desenvolvedor-usando-o-wordpress-gutenberg-para-frontpage-e-landing-pages","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/guia-do-desenvolvedor-usando-o-wordpress-gutenberg-para-frontpage-e-landing-pages\/","title":{"rendered":"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages"},"content":{"rendered":"\n<p>Neste post, veremos como utilizar o editor Gutenberg para criar frontpages ou landing pages bonitas e modernas. Veremos especialmente como voc\u00ea, como desenvolvedor, pode ajustar o c\u00f3digo do seu tema para oferecer suporte a isso. Este guia \u00e9 perfeito para voc\u00ea que deseja ajustar um tema antigo para suportar o Gutenberg ou deseja aprender a desenvolver novos temas otimizados para o Gutenberg.<\/p>\n<p>Quando o WordPress introduziu o novo <a href=\"https:\/\/wordpress.org\/gutenberg\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">editor Gutenberg<\/a> no WordPress 5.0 (lan\u00e7ado por volta de dezembro de 2018), tornou desnecess\u00e1rio o uso de um plugin de construtor de p\u00e1ginas separado. O editor Gutenberg d\u00e1 ao autor do WordPress muita flexibilidade e a possibilidade de criar conte\u00fado rico e designs que n\u00e3o eram f\u00e1ceis antes \u2013 a menos que o tema ou um plugin fornecesse a funcionalidade para eles usando, por exemplo, c\u00f3digos de acesso.<\/p>\n<p>Voc\u00ea obt\u00e9m muito estilo para blocos Gutenberg prontos para uso no WordPress, mas com um pouco de trabalho em seu tema e conhecimento sobre os blocos, voc\u00ea pode adicionar muito mais \u00e0 experi\u00eancia Gutenberg. Vamos dar uma olhada em como!<\/p>\n<h2>Habilitando blocos largos e de largura total<\/h2>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d3936a4f9.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-152081-61e4d3936a4f9.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>A maioria dos blocos permite que voc\u00ea escolha alinhamentos de blocos. Quando voc\u00ea est\u00e1 trabalhando em Gutenberg em um tema n\u00e3o desenvolvido para Gutenberg, voc\u00ea pode escolher entre &#8220;Alinhar \u00e0 Esquerda, &#8220;Alinhar ao Centro&quot; e &#8220;Alinhar \u00e0 Direita&#8221;.<\/p>\n<p>Mas voc\u00ea sabia que na verdade existem mais dois? Os outros dois, &#8220;Wide Width&#8221; e &#8220;Full Width&#8221; s\u00e3o perfeitos para fazer uma p\u00e1gina inicial ou p\u00e1gina de destino. Veremos mais de perto como otimizar o layout e o design do seu tema para oferecer suporte total a blocos largos e de largura total mais tarde. Primeiro voc\u00ea precisa dizer ao WordPress para adicionar suporte para esses dois alinhamentos de blocos em seu tema.<\/p>\n<p>Em uma fun\u00e7\u00e3o ligada a <code>after_setup_theme<\/code>voc\u00ea simplesmente chame <code>add_theme_support('align-wide')<\/code>. Voc\u00ea provavelmente j\u00e1 tem uma fun\u00e7\u00e3o de &#8220;configura\u00e7\u00e3o&#8221; em seu tema, ou se n\u00e3o \u2013 adicione isso no seu tema <code>functions.php<\/code>:<\/p>\n<pre><code>add_action('after_setup_theme', function() {\n    add_theme_support('align-wide');\n});<\/code><\/pre>\n<p>Com este c\u00f3digo ativo em seu tema, agora voc\u00ea deve obter um total de cinco op\u00e7\u00f5es para alinhamentos de blocos. Para alguns blocos, por exemplo, Colunas, voc\u00ea obt\u00e9m apenas os dois novos.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d39456b94.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-152081-61e4d39456b94.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>Existem certos tipos de blocos onde voc\u00ea pode definir alinhamentos de blocos &#8211; principalmente \u00e9 o tipo que suporta blocos aninhados, ou seja. um bloco que permite adicionar blocos dentro. Esses blocos populares s\u00e3o Capa, Colunas, Imagem, blocos de incorpora\u00e7\u00e3o e assim por diante. O bloco Cover \u00e9 um \u00f3timo bloco para construir frontpages ou landing pages, como veremos ao longo deste post.<\/p>\n<h2>Usando o bloco de tampa<\/h2>\n<p>O bloco de capa \u00e9 definitivamente o melhor bloco quando voc\u00ea deseja criar uma p\u00e1gina inicial ou uma p\u00e1gina de destino dividida em se\u00e7\u00f5es. Voc\u00ea pode adicionar qualquer tipo de bloco e quantos blocos quiser dentro de um bloco Cover. Com um bloco de capa, voc\u00ea pode definir uma cor de fundo, uma imagem de fundo ou uma imagem de fundo com uma sobreposi\u00e7\u00e3o de cores.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d39550a18.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-152081-61e4d39550a18.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>Combinado com a op\u00e7\u00e3o de definir o ajuste do bloco para largura ou largura total (como fizemos acima), o bloco Cover \u00e9 uma ferramenta poderosa. Voc\u00ea pode criar uma p\u00e1gina onde todo o conte\u00fado resida dentro de se\u00e7\u00f5es de blocos de capa de largura total, cada uma com sua pr\u00f3pria cor de fundo ou imagem de fundo. Com o estilo e layout corretos em seu tema, voc\u00ea tem um construtor de frontpage moderno e completo.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d3962c5fd.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-152081-61e4d3962c5fd.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>No WordPress 5.3, uma melhoria importante veio para o bloco Cover: Um wrapper HTML interno. Isso significa que o bloco Cover tem um elemento HTML para a pr\u00f3pria se\u00e7\u00e3o \u2013 com sua cor de fundo ou imagem de fundo e, em seguida, outro elemento HTML onde reside todo o conte\u00fado. Combine isso com um alinhamento de bloco de largura total: estilize o elemento externo (com a cor de fundo ou a imagem) para ter largura total e, em seguida, estilize o elemento HTML interno com o conte\u00fado para caber no cont\u00eainer do seu tema.<\/p>\n<p>Por exemplo, suponha que seu tema tenha um cont\u00eainer de largura m\u00e1xima de 1200px. Voc\u00ea provavelmente j\u00e1 tem uma classe HTML espec\u00edfica que \u00e9 estilizada com max-width, garantindo que seu conte\u00fado n\u00e3o seja simplesmente expandido em largura total, independentemente do tamanho da tela. Adicione seu estilo de largura m\u00e1xima ao HTML interno da capa; nome da classe <code>wp-block-cover__inner-container<\/code>. Como um exemplo:<\/p>\n<pre><code>.wp-block-cover-image.alignfull .wp-block-cover__inner-container, \n.wp-block-cover.alignfull .wp-block-cover__inner-container {\n    position: relative;\n    width: 100%;\n    max-width: 1200px;\n    padding: 0 20px;\n}<\/code><\/pre>\n<p>No c\u00f3digo CSS acima, direciono duas classes pai Cover. A classe de bloco de capa pai muda dependendo de voc\u00ea escolher ou n\u00e3o uma imagem de fundo. Os blocos de cobertura com uma imagem de fundo recebem a classe &#8221; <code>wp-block-cover-image<\/code>&#8221; e os blocos de cobertura com uma cor de fundo recebem a classe &#8221; <code>wp-block-cover<\/code>&#8220;. Al\u00e9m disso, tamb\u00e9m direciono o alinhamento do bloco &#8220;Full Width&#8221; com a classe &#8221; <code>alignfull<\/code>&#8220;. O alinhamento do bloco &#8220;Wide Width&#8221; obt\u00e9m a classe &#8221; <code>alignwide<\/code>&#8220;. Adicione CSS para direcionar esse alinhamento de bloco tamb\u00e9m \u2013 dependendo do que voc\u00ea deseja fazer.<\/p>\n<p>Se voc\u00ea come\u00e7ou a brincar com isso, pode ter encontrado problemas com o layout geral do tema. Seu tema provavelmente for\u00e7a seus blocos de cobertura de largura total a n\u00e3o atingirem a largura total. Vejamos isso a seguir.<\/p>\n<h2>Layout de tema e estilo de largura total<\/h2>\n<p>At\u00e9 agora, adicionamos suporte para blocos largos e de largura total e aprendemos como usar e otimizar o bloco Capa para funcionar como se\u00e7\u00f5es de p\u00e1gina inicial ou de p\u00e1gina de destino. Mas, na maioria dos temas, seu HTML e layout podem impedir que o conte\u00fado de sua postagem tenha largura total.<\/p>\n<p>Seu tema provavelmente tem uma barra lateral direita em uma \u00fanica postagem ou visualiza\u00e7\u00e3o de p\u00e1gina. Provavelmente h\u00e1 wrappers HTML adicionais, incluindo um elemento de cont\u00eainer max-width, que impede que seus blocos de largura total tenham largura total. Seus wrappers provavelmente tamb\u00e9m t\u00eam um pouco de margens ou preenchimento, o que novamente impede que os blocos de largura total toquem completamente as bordas da tela. Mas voc\u00ea precisa fazer com que uma \u00fanica postagem ou p\u00e1gina pare\u00e7a boa para postagens em que o usu\u00e1rio n\u00e3o use blocos de capa tamb\u00e9m. Voc\u00ea precisa considerar seus wrappers ao desenvolver para Gutenberg com suporte para blocos largos e de largura total. Tudo depende do design, HTML e estilo do seu tema \u2013 mas vamos ver algumas ideias para resolver isso.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d397020b6.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-152081-61e4d397020b6.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>Uma boa solu\u00e7\u00e3o seria adicionar op\u00e7\u00f5es de postagem; meta configura\u00e7\u00f5es personalizadas para postagens e p\u00e1ginas que afetam o layout dessa p\u00e1gina. Voc\u00ea pode fazer uma configura\u00e7\u00e3o para ocultar a barra lateral ou para for\u00e7ar o conte\u00fado do seu post a ficar completamente na largura total. Crie configura\u00e7\u00f5es de postagem manualmente adicionando metaboxes ou use <a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Campos personalizados avan\u00e7ados<\/a> para facilitar esse processo. E ent\u00e3o, em seu tema, voc\u00ea busca as configura\u00e7\u00f5es de postagem e manipula a sa\u00edda HTML de forma correspondente.<\/p>\n<p>Outras boas op\u00e7\u00f5es de postagem s\u00e3o ocultar o t\u00edtulo da p\u00e1gina e\/ou ocultar a imagem em destaque. Isso permite que voc\u00ea crie conte\u00fado normalmente, mas para p\u00e1ginas espec\u00edficas voc\u00ea pode facilmente configurar uma p\u00e1gina de destino completamente com blocos de capa de largura total. Ao ocultar o t\u00edtulo da p\u00e1gina padr\u00e3o, voc\u00ea pode criar um cabe\u00e7alho com melhor apar\u00eancia ou uma se\u00e7\u00e3o de chamada para a\u00e7\u00e3o para atuar como o t\u00edtulo da p\u00e1gina.<\/p>\n<h2>Criar estilos de bloco<\/h2>\n<p>H\u00e1 um recurso pouco conhecido no WordPress Gutenberg; os blocos podem ter estilos diferentes. Voc\u00ea pode ver os estilos de bloco em a\u00e7\u00e3o com o bloco Quote. Adicione o bloco em seu editor e d\u00ea uma olhada no Inspetor (barra lateral direita). Voc\u00ea encontrar\u00e1 o t\u00f3pico &#8220;Estilos&#8221; e duas op\u00e7\u00f5es entre estilos diferentes.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d397cc8ab.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-152081-61e4d397cc8ab.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>Crie estilos personalizados que facilitem a cria\u00e7\u00e3o de frontpage e landing pages. Sugiro pelo menos adicionar estilos de bloco personalizados ao bloco Heading, para que voc\u00ea possa criar estilos personalizados sem interromper os t\u00edtulos de postagens normais. Crie um estilo de bloco para t\u00edtulos de se\u00e7\u00e3o com fonte extra grande e preenchimento adicional.<\/p>\n<p>Ao tentar criar p\u00e1ginas iniciais, anote o que voc\u00ea precisa personalizar repetidamente \u2013 isso pode ser uma boa op\u00e7\u00e3o para um estilo de bloco.<\/p>\n<p>Adicionar estilos de bloco personalizados \u00e9 realmente muito f\u00e1cil e n\u00e3o requer conhecimento de Javascript. Eu tenho um tutorial separado sobre como fazer isso, se voc\u00ea quiser aprender mais sobre isso.<\/p>\n<p>PS: Se voc\u00ea n\u00e3o vir estilos de bloco, seu tema pode n\u00e3o ter suporte para isso. O processo \u00e9 o mesmo que fizemos para alinhamentos de blocos largos e de largura total; no gancho <code>after_setup_theme<\/code>, voc\u00ea adiciona <code>add_theme_support('wp-block-styles')<\/code>:<\/p>\n<pre><code>add_action('after_setup_theme', function() {\n    add_theme_support('wp-block-styles');\n});<\/code><\/pre>\n<h2>Usando cores do tema como paleta de cores<\/h2>\n<p>Se voc\u00ea j\u00e1 brincou com o Gutenberg, provavelmente notou que o Gutenberg oferece um certo conjunto de cores para texto ou cor de fundo. Por exemplo, adicionar um bloco de capa solicitar\u00e1 que voc\u00ea escolha uma cor de uma paleta de cores.<\/p>\n<p>Voc\u00ea tem a op\u00e7\u00e3o de usar um seletor de cores para escolher ou inserir a cor hexadecimal para a cor exata desejada. Voc\u00ea pode acess\u00e1-lo clicando no link &#8220;Cor Personalizada&#8221;. Mas se voc\u00ea estiver usando o mesmo conjunto de cores em seu tema e quiser mant\u00ea-lo consistente, pode ser complicado lembrar constantemente e inserir os mesmos c\u00f3digos de cores hexadecimais todas as vezes.<\/p>\n<p>Felizmente, o WordPress Gutenberg permite que voc\u00ea defina a paleta de cores! Este \u00e9 mais um <code>add_theme_support()<\/code>onde voc\u00ea fornece uma variedade de cores que deseja na paleta. Em uma fun\u00e7\u00e3o ligada a <code>after_setup_theme<\/code>, fa\u00e7a isso:<\/p>\n<pre><code>add_theme_support('editor-color-palette', [\n    [\n        'name' =&gt; __('Main blue profile color', 'txtdomain'),\n        'slug' =&gt; 'blue-profile',\n        'color' =&gt; '#59BACC'\n    ],\n    [\n        'name' =&gt; __('Secondary green profile color', 'txtdomain'),\n        'slug' =&gt; 'secondary-profile',\n        'color' =&gt; '#58AD69'\n    ],\n]);<\/code><\/pre>\n<p>No c\u00f3digo acima adicionamos suporte ao tema para &#8216; <code>editor-color-palette<\/code>&#8216;, e como segundo par\u00e2metro para a fun\u00e7\u00e3o definimos um array de todas as cores que queremos. Cada cor requer os atributos <code>name<\/code>, <code>slug<\/code>e <code>color<\/code>. <code>name<\/code>\u00e9 o que aparece quando voc\u00ea passa o mouse sobre a cor na paleta. <code>slug<\/code>\u00e9 o nome da classe que ser\u00e1 adicionada ao elemento do bloco. E <code>color<\/code>define o c\u00f3digo hexadecimal para sua cor.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d398ba829.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-152081-61e4d398ba829.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>Tenha em mente que voc\u00ea precisa adicionar estilos em seu CSS visando cada uma dessas classes (definidas por <code>slug<\/code>). O WordPress n\u00e3o aplica automaticamente a cor hexadecimal em seus blocos, embora digamos ao WordPress qual \u00e9 o c\u00f3digo de cores.<\/p>\n<p>Como exemplo, a imagem \u00e0 direita \u00e9 a minha paleta de cores que defini para o tema deste site \u2013 para A White Pixel:<\/p>\n<p>Essas s\u00e3o as cores do meu tema e em 95% dos casos vou usar uma dessas cores \u2013 seja como fundo ou como cor de texto. Em casos raros, posso puxar o colorpicker, mas ter os suspeitos usuais j\u00e1 definidos na paleta de cores torna a vida muito mais f\u00e1cil.<\/p>\n<p>Uma dica \u00e9 sempre se certificar de adicionar preto puro (<code>#000000<\/code>) e branco puro (<code>#FFFFFF<\/code>) na sua paleta de cores. Provavelmente tamb\u00e9m \u00e9 uma boa ideia ter uma ou duas cores cinza claro.<\/p>\n<h2>Usando uma p\u00e1gina inicial est\u00e1tica e otimizando o modelo da p\u00e1gina inicial<\/h2>\n<p>Voc\u00ea provavelmente j\u00e1 sabe sobre isso, mas vou mencion\u00e1-lo do mesmo jeito. No WordPress voc\u00ea pode definir uma p\u00e1gina est\u00e1tica como p\u00e1gina inicial acessando Configura\u00e7\u00f5es &gt; Leitura.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152081-61e4d3998a5f8.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-152081-61e4d3998a5f8.png\" alt=\"Guia do desenvolvedor: Usando o WordPress Gutenberg para Frontpage e Landing Pages\" ><\/a><\/p>\n<p>Como a p\u00e1gina inicial padr\u00e3o do WordPress mostra uma lista dos posts mais recentes. Mas se voc\u00ea selecionar &#8220;Uma p\u00e1gina est\u00e1tica&#8221; e escolher uma p\u00e1gina no menu suspenso, o WordPress exibir\u00e1 esta p\u00e1gina como a p\u00e1gina inicial do seu site.<\/p>\n<p>Este \u00e9 um ac\u00e9falo na configura\u00e7\u00e3o de uma p\u00e1gina inicial para o seu site WordPress. Na p\u00e1gina selecionada voc\u00ea pode construir a p\u00e1gina inicial usando todos os truques mencionados acima. Por exemplo, voc\u00ea pode ter op\u00e7\u00f5es de postagem desmarcadas para mostrar o t\u00edtulo da p\u00e1gina, a barra lateral e a imagem em destaque. E a p\u00e1gina \u00e9 totalmente constru\u00edda com blocos de capa e conte\u00fado de largura total. No entanto, voc\u00ea pode optar por n\u00e3o seguir a rota das op\u00e7\u00f5es de postagem (ocultar a barra lateral, etc.) e simplesmente criar um modelo de p\u00e1gina inicial para substitu\u00ed-las ou for\u00e7\u00e1-las.<\/p>\n<p>Quando seu WordPress \u00e9 definido como uma p\u00e1gina est\u00e1tica como frontpage, o WordPress procurar\u00e1 o modelo <code>front-page.php<\/code>em seu tema. Isso ser\u00e1 usado em vez de <code>page.php<\/code>. Isso permite que voc\u00ea crie e ajuste um modelo separado que \u00e9 usado apenas para sua p\u00e1gina inicial.<\/p>\n<p>Nesse <code>front-page.php<\/code>modelo, voc\u00ea j\u00e1 pode definir HTML para garantir que todos os blocos tenham largura total, n\u00e3o tenha barra lateral, t\u00edtulo de p\u00e1gina ou imagem em destaque. Voc\u00ea pode querer simplesmente fazer <code>the_content()<\/code>a sa\u00edda do conte\u00fado da p\u00e1gina na \u00edntegra.<\/p>\n<p>Por exemplo, isso \u00e9 o que eu tenho no tema deste site <code>front-page.php<\/code>. Considerando que em todos os outros modelos, como <code>page.php<\/code>, eu tenho muitas sa\u00eddas para barra lateral, t\u00edtulo de postagem e assim por diante, esta \u00e9 a extens\u00e3o total do meu loop em <code>front-page.php<\/code>:<\/p>\n<pre><code>while (have_posts()): the_post();\n    the_content('');\nendwhile;<\/code><\/pre>\n<p>\u00c9 isso. Meu HTML e classes de encapsulamento garantem que o conte\u00fado da postagem seja totalmente de largura total.<\/p>\n<p>Lembre-se que esta \u00e9 uma boa solu\u00e7\u00e3o se voc\u00ea, como usu\u00e1rio do tema, entender como seus templates funcionam. Eu sei que todo o meu conte\u00fado na minha p\u00e1gina inicial deve ser totalmente encapsulado dentro de blocos de capa. Eu confio no HTML do cont\u00eainer interno do bloco Cover para garantir que meu conte\u00fado tenha uma boa apar\u00eancia e caia em um cont\u00eainer de largura m\u00e1xima. Se eu fosse adicionar um bloco de par\u00e1grafo simples sem um bloco de capa de embrulho, n\u00e3o ficaria bom porque n\u00e3o teria preenchimento nas laterais.<\/p>\n<h2>Tornando o cabe\u00e7alho do seu site transparente no primeiro bloco de capa<\/h2>\n<p>Uma caracter\u00edstica muito comum em sites modernos \u00e9 tornar o cabe\u00e7alho transparente na p\u00e1gina inicial. \u00c0 medida que o usu\u00e1rio come\u00e7a a rolar a p\u00e1gina, o cabe\u00e7alho muda para um estilo fixo e recebe um plano de fundo. Mas manter um cabe\u00e7alho transparente pode parecer muito bom quando podemos ver as cores ou a imagem por tr\u00e1s da primeira se\u00e7\u00e3o.<\/p>\n<p><a href=\"https:\/\/awhitepixel.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Eu fa\u00e7o isso na p\u00e1gina inicial<\/a> deste site. D\u00ea uma olhada! No topo da p\u00e1gina, meu cabe\u00e7alho n\u00e3o tem plano de fundo e mostra o plano de fundo da se\u00e7\u00e3o gradiente roxa (um bloco de capa) atr\u00e1s. Uma vez que voc\u00ea come\u00e7a a rolar, ele obt\u00e9m um plano de fundo s\u00f3lido fixo.<\/p>\n<p>Tenha em mente que voc\u00ea precisa estar ciente das cores do seu cabe\u00e7alho e do primeiro plano de fundo da capa. Se o seu cabe\u00e7alho consiste em logotipo branco e itens de menu brancos (como o meu), voc\u00ea n\u00e3o pode usar esse truque com um bloco de capa que tenha um fundo claro. Isso tornaria seu cabe\u00e7alho ileg\u00edvel!<\/p>\n<p>Se voc\u00ea quiser fazer isso, lembre-se de que requer um pouco de conhecimento de Javascript. Mas na verdade \u00e9 muito simples. Vou passar pelo b\u00e1sico para voc\u00ea:<\/p>\n<p>Todo o meu elemento de cabe\u00e7alho \u00e9 sempre <code>position: fixed<\/code>. Como normalmente n\u00e3o quero que meu conte\u00fado desapare\u00e7a atr\u00e1s do cabe\u00e7alho, adicionei um padding-top no elemento body, empurrando o conte\u00fado para baixo do cabe\u00e7alho. No entanto, adicionei uma regra de que, se estivermos no modelo de primeira p\u00e1gina, esse preenchimento n\u00e3o ser\u00e1 adicionado. Isso garante que apenas na p\u00e1gina inicial, a parte do corpo apare\u00e7a atr\u00e1s do cabe\u00e7alho. Em seguida, direciono o primeiro bloco de capa na p\u00e1gina inicial e adiciono um preenchimento superior adicional, para garantir que o conte\u00fado desse primeiro bloco n\u00e3o fique atr\u00e1s do cabe\u00e7alho &#8211; dando a ele um bom preenchimento ap\u00f3s o cabe\u00e7alho.<\/p>\n<p>E ent\u00e3o eu adicionei um c\u00f3digo Javascript muito simples usando jQuery:<\/p>\n<pre><code>$(window).scroll(function() {\n    if ($(window).scrollTop() &gt;= 60) {\n        $('#header').addClass('navbar-fixed')\n    } else {\n        $('#header').removeClass('navbar-fixed');\n    }\n});<\/code><\/pre>\n<p>O que esse c\u00f3digo faz \u00e9 adicionar uma classe &#8216; <code>navbar-fixed<\/code>&#8216; quando a p\u00e1gina \u00e9 rolada al\u00e9m de 60px na p\u00e1gina. E no meu CSS eu simplesmente direciono essa classe e adiciono uma cor de fundo fixa. Sem esta classe, o fundo do cabe\u00e7alho fica transparente na p\u00e1gina inicial.<\/p>\n<p>Isso \u00e9 o b\u00e1sico. Brinque com o CSS \u2013 ajuste o &#8220;ponto de ponta&#8221; do Javascript e use por exemplo <code>transition<\/code>a propriedade para fazer uma transi\u00e7\u00e3o mais suave quando a cor de fundo for aplicada.<\/p>\n<h2>\u00d3timos blocos para frontpages e landing pages<\/h2>\n<p>O WordPress oferece uma gama completa de blocos prontos para voc\u00ea usar. Alguns deles s\u00e3o especialmente \u00fateis na constru\u00e7\u00e3o de uma p\u00e1gina inicial ou p\u00e1gina de destino. Se voc\u00ea j\u00e1 conhece todos os blocos dispon\u00edveis, provavelmente j\u00e1 os conhece.<\/p>\n<ul>\n<li><strong>Colunas<\/strong>. Um bloco que permite blocos aninhados, o que significa que voc\u00ea pode adicionar qualquer bloco dentro de cada coluna. Voc\u00ea tamb\u00e9m pode adicionar colunas dentro de um bloco de capa. Perfeito para estruturar conte\u00fado em colunas. Voc\u00ea pode decidir o n\u00famero de colunas e para cada coluna voc\u00ea pode decidir suas larguras. Eles podem ter larguras iguais ou larguras personalizadas.<\/li>\n<li><strong>Grupo<\/strong>. Outro bloco que permite blocos aninhados. \u00d3timo para definir um fundo colorido em torno de v\u00e1rios outros blocos (como um t\u00edtulo e alguns par\u00e1grafos).<\/li>\n<li><strong>Bot\u00e3o<\/strong>. N\u00e3o h\u00e1 frontpage sem bot\u00f5es. Os bot\u00f5es s\u00e3o \u00f3timos como call to action e direcionam seus visitantes para onde voc\u00ea quer que eles v\u00e3o. Voc\u00ea pode personalizar a apar\u00eancia e o design do bot\u00e3o. Combine isso com estilos de blocos personalizados para bot\u00f5es!<\/li>\n<li><strong>Espa\u00e7ador<\/strong>. Se voc\u00ea sentir que est\u00e1 faltando espa\u00e7o em suas se\u00e7\u00f5es, adicione um bloco Espa\u00e7ador \u2013 que \u00e9 simplesmente espa\u00e7o sem nenhum conte\u00fado. Voc\u00ea pode definir a altura do espa\u00e7ador.<\/li>\n<li><strong>Separador<\/strong>. Semelhante ao bloco Spacer, mas adiciona uma linha agrad\u00e1vel. Outra op\u00e7\u00e3o para separar claramente o conte\u00fado. Personalize o design da linha no CSS do seu tema ou adicione estilos de bloco personalizados.<\/li>\n<li><strong>Galeria<\/strong>. Excelente para exibir imagens. Tem suporte para alinhamento de blocos de largura total, para que voc\u00ea possa criar uma galeria de imagens de largura total em sua p\u00e1gina inicial.<\/li>\n<li><strong>M\u00eddia e Texto<\/strong>. Uma boa maneira f\u00e1cil de alinhar uma imagem ou m\u00eddia ao lado do texto. Pode ser uma op\u00e7\u00e3o melhor do que colunas em alguns casos.<\/li>\n<li><strong>Incorpora\u00e7\u00f5es: Youtube ++<\/strong>. O WordPress oferece v\u00e1rias incorpora\u00e7\u00f5es para m\u00eddia. Voc\u00ea pode, por exemplo, ter um v\u00eddeo do Youtube de largura total sendo reproduzido em sua p\u00e1gina inicial.<\/li>\n<li><strong>Widgets: campo de pesquisa, postagens mais recentes, calend\u00e1rio++<\/strong>. O WordPress oferece alguns bons elementos de conte\u00fado padr\u00e3o. Se voc\u00ea quiser exibir uma lista de postagens recentes ou uma barra de pesquisa em sua p\u00e1gina de destino, v\u00e1 em frente.<\/li>\n<\/ul>\n<p>Se, no entanto, voc\u00ea sentir que faltam blocos para fazer o que deseja, a solu\u00e7\u00e3o \u00e9 criar seus pr\u00f3prios blocos personalizados.<\/p>\n<h3>Criando blocos personalizados<\/h3>\n<p>Um recurso muito comum em uma p\u00e1gina inicial ou landing page \u00e9 um elemento de &#8220;atalho&#8221;; onde voc\u00ea escolhe uma postagem ou p\u00e1gina, e gera um bloco com link para a postagem, contendo a imagem em destaque, o t\u00edtulo da postagem, possivelmente o trecho. No momento em que escrevo isso, n\u00e3o existe essa op\u00e7\u00e3o no WordPress padr\u00e3o. Voc\u00ea teria que fazer esse atalho manualmente, inserindo manualmente a mesma imagem em destaque da postagem, digitando manualmente o t\u00edtulo e o trecho da postagem e agrupando tudo em um link.<\/p>\n<p>Outros exemplos de blocos que s\u00e3o muito \u00fateis para a constru\u00e7\u00e3o de frontpage e landing page s\u00e3o sliders\/carross\u00e9is, tabelas de compara\u00e7\u00e3o de pre\u00e7os e depoimentos.<\/p>\n<p>Para otimizar para esses tipos de blocos, voc\u00ea precisa encontrar um plugin que forne\u00e7a isso (n\u00e3o explorei essa op\u00e7\u00e3o) ou fa\u00e7a voc\u00ea mesmo. Fazer seus pr\u00f3prios blocos personalizados requer um conhecimento significativo de Javascript e React e uma boa quantidade de codifica\u00e7\u00e3o. Eu recomendo seguir esse caminho se voc\u00ea for s\u00e9rio sobre ser um desenvolvedor do WordPress.<\/p>\n<p>Se voc\u00ea estiver interessado em aprender como criar blocos personalizados para o Gutenberg, tenho uma s\u00e9rie de tutoriais que aborda isso em detalhes.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode optar por uma rota mais f\u00e1cil e adquirir <a href=\"https:\/\/www.advancedcustomfields.com\/pro\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o Advanced Custom Fields Pro<\/a> (ACF). Com este plugin, voc\u00ea pode criar blocos personalizados do Gutenberg sem nenhum conhecimento de Javascript. Voc\u00ea apenas controla a sa\u00edda PHP dos blocos e deixa o ACF lidar com a parte Javascript. Mas lembre-se de que isso cria uma depend\u00eancia do seu tema para um plugin licenciado.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Espero que este post tenha ajudado voc\u00ea a desenvolver ainda mais suas habilidades e conhecimentos com o WordPress Gutenberg! No momento em que escrevo isso, h\u00e1 realmente uma falta de informa\u00e7\u00e3o e experi\u00eancia em como otimizar seu tema para o Gutenberg. Eu tive muita dificuldade em encontrar algo sobre como construir bem uma primeira p\u00e1gina. Ent\u00e3o, isso \u00e9 o que eu aprendi por muito experimentar e brincar.<\/p>\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>Este guia detalha como codificar em seu tema e usar o editor WordPress Gutenberg para criar frontpages ou p\u00e1ginas de destino de \u00f3tima apar\u00eancia e modernas.<\/p>\n","protected":false},"author":1,"featured_media":152082,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,898,722,722,941,941,920,1110,920,816,816,846,846,867,867],"tags":[1170],"class_list":["post-233834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-gutenberg-8","category-outro","category-n-a","category-plug-ins","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233834","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=233834"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233834\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/152082"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=233834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=233834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=233834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}