{"id":233728,"date":"2023-02-20T20:23:00","date_gmt":"2023-02-20T17:23:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233728"},"modified":"2022-11-11T12:04:28","modified_gmt":"2022-11-11T09:04:28","slug":"como-compilar-o-scss-com-php-adicionar-variaveis-ao-wordpress-customizer-para-compilar-o-css-do-tema","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/como-compilar-o-scss-com-php-adicionar-variaveis-ao-wordpress-customizer-para-compilar-o-css-do-tema\/","title":{"rendered":"Como compilar o SCSS com PHP: adicionar vari\u00e1veis \u200b\u200bao WordPress Customizer para compilar o CSS do tema"},"content":{"rendered":"\n<p>Este tutorial mostrar\u00e1 como adicionar configura\u00e7\u00f5es de tema, por exemplo, cores de tema, no WordPress Customizer e recompilar a folha de estilo do tema com as vari\u00e1veis \u200b\u200bescolhidas. Ao ter um estilo de tema no SCSS usando uma biblioteca, voc\u00ea pode facilmente permitir que os usu\u00e1rios do tema personalizem quaisquer vari\u00e1veis \u200b\u200bna folha de estilo do tema, sem que eles tenham que editar os pr\u00f3prios arquivos SCSS.<\/p>\n<p>Qualquer bom tema deve permitir uma boa customiza\u00e7\u00e3o. No m\u00ednimo, deve ser poss\u00edvel definir as cores do tema principal. Em vez de escrever muito CSS feio para substituir as cores do tema em todos os lugares, voc\u00ea pode recompilar a folha de estilo completa diretamente do Customizer. Este tutorial vai te ensinar como!<\/p>\n<h2>O que faremos \u2013 e o que precisamos<\/h2>\n<p>Suponho que seu tema j\u00e1 tenha um pouco de estilo nos arquivos SCSS que voc\u00ea j\u00e1 compila no arquivo <code>style.css<\/code>. E usando SCSS voc\u00ea provavelmente define coisas recorrentes como cores, tamanhos ou pontos de interrup\u00e7\u00e3o como vari\u00e1veis \u200b\u200bSCSS e usa essas vari\u00e1veis \u200b\u200bem todo o seu estilo.<\/p>\n<p>Voc\u00ea pode criar qualquer e quantas configura\u00e7\u00f5es do Customizer desejar para as vari\u00e1veis \u200b\u200bem seu arquivo SCSS. Colorpickers, n\u00fameros e entradas de texto s\u00e3o perfeitos para isso. Enquanto o usu\u00e1rio altera as configura\u00e7\u00f5es no WordPress Customizer, ele ver\u00e1 uma pr\u00e9via do tema com as vari\u00e1veis \u200b\u200balteradas. E quando eles clicarem em &#8220;Salvar&quot;, o CSS final ser\u00e1 compilado no arquivo CSS da folha de estilo principal usando os valores escolhidos.<\/p>\n<p>Como exemplo para este tutorial, assumirei que o arquivo SCSS da folha de estilo principal do tema faz <code>@import<\/code>um <code>variables.scss<\/code>arquivo. Nele definimos tr\u00eas vari\u00e1veis \u200b\u200bque queremos que sejam personaliz\u00e1veis \u200b\u200bno Customizer: Duas cores e um tamanho de texto em <code>px<\/code>.<\/p>\n<pre><code>$main: #594c74 !default;\n$secondary: #555 !default;\n$text-size: 12px !default;<\/code><\/pre>\n<p>Observe que, para permitir que o SCSS redefina vari\u00e1veis, <strong>elas devem ser definidas<\/strong> com <code>!default<\/code>. Esta \u00e9 uma <a href=\"https:\/\/sass-lang.com\/documentation\/variables#default-values\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">regra em SCSS<\/a>. Para que este tutorial funcione; quaisquer vari\u00e1veis \u200b\u200bque voc\u00ea deseja que sejam personaliz\u00e1veis \u200b\u200bdevem ser definidas como padr\u00e3o em seus arquivos SCSS.<\/p>\n<p>Cabe a voc\u00ea quando (ou se) deseja substituir o arquivo CSS. Este tutorial assume que quando o usu\u00e1rio clicar em &#8220;Salvar&#8221; no Customizer, ele ir\u00e1 recompilar e gravar no CSS do tema. No entanto, enquanto a visualiza\u00e7\u00e3o do Customizer estiver ativa e o usu\u00e1rio estiver alterando as configura\u00e7\u00f5es (antes de clicar em Salvar), simplesmente enviamos o CSS compilado no cabe\u00e7alho para a visualiza\u00e7\u00e3o do site. N\u00e3o queremos substituir o arquivo CSS imediatamente caso o usu\u00e1rio queira cancelar as altera\u00e7\u00f5es feitas.<\/p>\n<h3>\u00a0 Tenha em mente\u2026<\/h3>\n<p>Este tutorial substituir\u00e1 o arquivo do tema <code>style.css<\/code>sempre que as configura\u00e7\u00f5es do Personalizador forem salvas.<\/p>\n<p>Suponho que voc\u00ea j\u00e1 compile seus arquivos SCSS com um programa compilador (por exemplo, <a href=\"http:\/\/koala-app.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Koala<\/a> ou linha de comando). Ter esse c\u00f3digo em seu tema substituir\u00e1 o arquivo CSS, mas n\u00e3o alterar\u00e1 seus arquivos SCSS de origem. Isso significa que sempre que voc\u00ea fizer altera\u00e7\u00f5es no Customizer e depois voltar para seus arquivos SCSS originais e recompilar, suas configura\u00e7\u00f5es de Customize ser\u00e3o perdidas!<\/p>\n<p>Existem v\u00e1rios m\u00e9todos para contornar isso e depende do seu projeto e de como voc\u00ea trabalha. Na maioria dos casos n\u00e3o seria um problema. Geralmente \u00e9 apenas uma coisa a ter em mente enquanto voc\u00ea est\u00e1 desenvolvendo seu tema. Se voc\u00ea est\u00e1 dando seu tema finalizado para outra pessoa usar, eles normalmente n\u00e3o tocariam em seus arquivos SCSS de qualquer maneira.<\/p>\n<p>Com isso fora do caminho, vamos come\u00e7ar a analisar como fazemos isso:<\/p>\n<ol>\n<li>Familiarizando-se com a biblioteca SCSSPHP e incluindo-a em nosso tema<\/li>\n<li>Crie configura\u00e7\u00f5es do Customizer para cada vari\u00e1vel SCSS que queremos que seja personaliz\u00e1vel<\/li>\n<li>Certificando-se de que o Personalizador visualiza as altera\u00e7\u00f5es em movimento<\/li>\n<li>Ao salvar as configura\u00e7\u00f5es do Customizer, recompilamos e sobrescrevemos o arquivo CSS do tema.<\/li>\n<\/ol>\n<h2>1 A biblioteca SCSSPHP<\/h2>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152472-61e4dfd0532a5.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-152472-61e4dfd0532a5.png\" alt=\"Como compilar o SCSS com PHP: adicionar vari\u00e1veis \u200b\u200bao WordPress Customizer para compilar o CSS do tema\" ><\/a><\/p>\n<p>Para compilar os arquivos SCSS, usaremos uma <a href=\"https:\/\/scssphp.github.io\/scssphp\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">biblioteca SCSSPHP da leafo<\/a> (licen\u00e7a MIT). Observe que este tutorial \u00e9 para a biblioteca SCSS. O autor da biblioteca tem uma <a href=\"https:\/\/github.com\/leafo\/lessphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">biblioteca LESS PHP<\/a> semelhante se voc\u00ea preferir usar LESS, mas lembre-se de que o tutorial a seguir \u00e9 para a biblioteca SCSS.<\/p>\n<p>A biblioteca SCSSPHP \u00e9 realmente simples de usar! Aqui est\u00e1 uma vis\u00e3o geral simplificada de como usaremos a biblioteca no PHP do nosso tema:<\/p>\n<ul>\n<li>Inclu\u00edmos a biblioteca<\/li>\n<li>Crie uma nova inst\u00e2ncia da classe do compilador da biblioteca<\/li>\n<li>Carregar o conte\u00fado do arquivo SCSS de origem e pass\u00e1-lo para o objeto do compilador<\/li>\n<li>Defina um array associativo; Nomes de vari\u00e1veis \u200b\u200bSCSS (incluindo o <code>$<\/code>) como chaves e seus valores. Qualquer elemento nesta matriz substituir\u00e1 as vari\u00e1veis \u200b\u200bde mesmo nome no arquivo SCSS fornecido.<\/li>\n<li>Pedimos ao objeto compilador para compilar e receber o CSS compilado como uma string em troca. Podemos ent\u00e3o produzir este CSS dentro <code>head<\/code>ou podemos escrev\u00ea-lo no <code>style.css<\/code>arquivo do tema<\/li>\n<\/ul>\n<h3>\u00a0 Que tipo de vari\u00e1veis \u200b\u200bSCSS podemos compilar?<\/h3>\n<p>A resposta simples \u00e9: Qualquer tipo de vari\u00e1vel SCSS v\u00e1lida!<\/p>\n<p>A biblioteca SCSSPHP pode compilar qualquer tipo de vari\u00e1vel SCSS v\u00e1lida, mas lembre-se de que voc\u00ea deve certificar-se de que elas sejam formatadas corretamente no Customizer. Por exemplo, as cores precisam ser prefixadas com um <code>#<\/code>para cores hexadecimais ou ser formatadas como <code>rgb()<\/code>ou <code>rgba()<\/code>defini\u00e7\u00f5es. Uma vari\u00e1vel de tamanho normalmente precisaria ser anexada com &#8216; <code>px<\/code>&#8216;, &#8216; <code>em<\/code>&#8216;, &#8216; <code>%<\/code>&#8216; e assim por diante.<\/p>\n<p>Se voc\u00ea planeja fazer um sistema avan\u00e7ado para compilar vari\u00e1veis \u200b\u200bSCSS atrav\u00e9s do tema Customizer, certifique-se de ter um bom sistema para formatar corretamente cada tipo de vari\u00e1vel!<\/p>\n<p>Vamos dar o primeiro passo; baixando e incluindo a biblioteca em nosso tema:<\/p>\n<h3>Baixando e incluindo a biblioteca SCSSPHP em seu tema<\/h3>\n<p>O primeiro passo \u00e9 baixar a <a href=\"https:\/\/scssphp.github.io\/scssphp\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">biblioteca SCSSPHP<\/a>. Na p\u00e1gina vinculada, clique no bot\u00e3o &quot;Download&quot; no topo. Se voc\u00ea preferir usar o Composer, o site fornece um guia sobre isso.<\/p>\n<p>Extraia o zip em uma subpasta em algum lugar dentro do seu tema. Como exemplo, estou colocando-o dentro da <code>theme\/inc\/scssphp\/<\/code>pasta.<\/p>\n<p>Abra o arquivo PHP onde voc\u00ea deseja adicionar seu c\u00f3digo para compilar. Pode estar diretamente dentro do seu tema <code>functions.php<\/code>ou em um arquivo PHP inclu\u00eddo por <code>functions.php<\/code>. Para simplificar, estou escrevendo tudo dentro do <code>functions.php<\/code>.<\/p>\n<p>Antes de podermos usar a biblioteca, precisamos inclu\u00ed-la; igual a:<\/p>\n<pre><code>require_once(get_stylesheet_directory(). '\/inc\/scssphp\/scss.inc.php');<\/code><\/pre>\n<p>Ajuste o caminho para seus arquivos de acordo. Precisamos incluir o <code>scss.inc.php<\/code>arquivo encontrado dentro da pasta raiz da biblioteca. Agora, ap\u00f3s esta linha podemos usar as classes da biblioteca!<\/p>\n<h2>2 Criando as configura\u00e7\u00f5es do Customizer para as vari\u00e1veis \u200b\u200bSCSS<\/h2>\n<p>Vamos criar as configura\u00e7\u00f5es do WordPress Customizer para nossas vari\u00e1veis. Para fins do tutorial, adicionaremos configura\u00e7\u00f5es para as vari\u00e1veis \u200b\u200bSCSS mencionadas acima: dois colorpickers e uma entrada num\u00e9rica.<\/p>\n<p>N\u00e3o entrarei em detalhes explicando como adicionar configura\u00e7\u00f5es do Customizer \u2013 existem muitos tutoriais para isso. No exemplo de c\u00f3digo abaixo eu crio uma nova se\u00e7\u00e3o e coloco as tr\u00eas configura\u00e7\u00f5es dentro:<\/p>\n<pre><code>add_action('customize_register', function($wp_customize) {\n    $wp_customize-&gt;add_section('theme-variables', [\n        'title' =&gt; __('Theme Variables', 'txtdomain'),\n        'priority' =&gt; 25\n    ]);\n\u00a0\n    $wp_customize-&gt;add_setting('theme-main', ['default' =&gt; '#594c74']);\n    $wp_customize-&gt;add_control(new WP_Customize_Color_Control($wp_customize, 'theme-main', [\n        'section' =&gt; 'theme-variables',\n        'label' =&gt; __('Main theme color', 'txtdomain'),\n        'priority' =&gt; 10\n    ]));\n\u00a0\n    $wp_customize-&gt;add_setting('theme-secondary', ['default' =&gt; '#555']);\n    $wp_customize-&gt;add_control(new WP_Customize_Color_Control($wp_customize, 'theme-secondary', [\n        'section' =&gt; 'theme-variables',\n        'label' =&gt; __('Secondary theme color', 'txtdomain'),\n        'priority' =&gt; 20\n    ]));\n\u00a0\n    $wp_customize-&gt;add_setting('theme-text-size', ['default' =&gt; '12']);\n    $wp_customize-&gt;add_control('theme-text-size', [\n        'section' =&gt; 'theme-variables',\n        'label' =&gt; __('Text size', 'txtdomain'),\n        'type' =&gt; 'number',\n        'priority' =&gt; 30,\n        'input_attrs' =&gt; ['min' =&gt; 8, 'max' =&gt; 20, 'step' =&gt; 1]\n    ]);\n});<\/code><\/pre>\n<p>Este c\u00f3digo se conecta <code>customize_register<\/code>e adiciona uma se\u00e7\u00e3o chamada &#8220;Vari\u00e1veis \u200b\u200bde Tema&#8221;. Em seguida, ele adiciona um seletor de cores &#8216; <code>theme-main<\/code>&#8216;, outro seletor de cores &#8216; <code>theme-secondary<\/code>&#8216; e uma entrada num\u00e9rica &#8216; <code>theme-text-size<\/code>&#8216;. Esta \u00e9 toda a funcionalidade padr\u00e3o do WordPress. Eu tamb\u00e9m adiciono definir o padr\u00e3o de cada configura\u00e7\u00e3o para os mesmos valores definidos no <code>variables.scss<\/code>arquivo. Isso \u00e9 apenas para garantir que as configura\u00e7\u00f5es do Personalizador sejam iniciadas com as cores corretas.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152472-61e4dfd112a70.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-152472-61e4dfd112a70.png\" alt=\"Como compilar o SCSS com PHP: adicionar vari\u00e1veis \u200b\u200bao WordPress Customizer para compilar o CSS do tema\" ><\/a><\/p>\n<p>Est\u00e1 \u00f3timo! Mas a partir de agora nada acontece quando voc\u00ea ajusta essas vari\u00e1veis. Vamos continuar com o passo 3; manipula\u00e7\u00e3o de visualiza\u00e7\u00e3o no Customizer.<\/p>\n<h2>3 Compile CSS em movimento na visualiza\u00e7\u00e3o do Customizer<\/h2>\n<p>Esta etapa trata da atualiza\u00e7\u00e3o da visualiza\u00e7\u00e3o do Personalizador enquanto o usu\u00e1rio altera as configura\u00e7\u00f5es e n\u00e3o grava em nenhum de nossos arquivos. Em vez disso, enviaremos o CSS compilado na <code>&lt;head&gt;<\/code>visualiza\u00e7\u00e3o dentro de uma <code>&lt;style&gt;<\/code>tag. Dessa forma, garantimos que o CSS inline substitua todo o estilo do arquivo CSS original.<\/p>\n<p>Para verificar se estamos ou n\u00e3o usando a visualiza\u00e7\u00e3o do Customizer, usamos a fun\u00e7\u00e3o <code>[is_customize_preview](https:\/\/developer.wordpress.org\/reference\/functions\/is_customize_preview\/)()<\/code>. Quando isso retorna <code>true<\/code>, criamos uma fun\u00e7\u00e3o vinculada ao <code>wp_head<\/code>. Dentro da fun\u00e7\u00e3o, iniciamos e configuramos a biblioteca SCSSPHP, buscamos os valores de configura\u00e7\u00e3o atuais, compilamos o CSS e o enviamos em uma <code>&lt;style&gt;<\/code>tag.<\/p>\n<pre><code>require_once(get_stylesheet_directory(). '\/inc\/scssphp\/scss.inc.php');\n\u00a0\nif (is_customize_preview()) {\n    add_action('wp_head', function() {\n        $compiler = new ScssPhpScssPhpCompiler();\n\u00a0\n        $source_scss = get_stylesheet_directory(). '\/assets\/scss\/style.scss';\n        $scssContents = file_get_contents($source_scss);\n        $import_path = get_stylesheet_directory(). '\/assets\/scss';\n        $compiler-&gt;addImportPath($import_path);\n\u00a0\n        $variables = [\n            '$main' =&gt; get_theme_mod('theme-main', '#594c74'),\n            '$secondary' =&gt; get_theme_mod('theme-secondary', '#555'),\n            '$text-size' =&gt; get_theme_mod('theme-text-size', '12'). 'px',\n        ];\n        $compiler-&gt;setVariables($variables);\n\u00a0\n        $css = $compiler-&gt;compile($scssContents);\n        if (!empty($css) &amp;&amp; is_string($css)) {\n            echo '&lt;style type=\"text\/css\"&gt;'. $css. '&lt;\/style&gt;';\n        }\n    });\n}<\/code><\/pre>\n<p>Na linha <code>#7<\/code>definimos o caminho para o arquivo SCSS de origem e carregamos seu conte\u00fado em uma vari\u00e1vel em <code>#8<\/code>. E na linha <code>#9<\/code>e <code>#10<\/code>configuramos o caminho de importa\u00e7\u00e3o para a biblioteca para garantir que qualquer <code>@import<\/code>s funcione corretamente em nossos arquivos SCSS. Voc\u00ea pode ler mais sobre isso no <a href=\"https:\/\/scssphp.github.io\/scssphp\/docs\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">site de documenta\u00e7\u00e3o da biblioteca<\/a>, sob o t\u00edtulo &#8220;Import Paths&#8221;. Basicamente, a biblioteca SCSSPHP precisa saber o caminho relativo da sua pasta SCSS para que todos os <code>@import<\/code>caminhos estejam corretos.<\/p>\n<p>Na linha <code>#12-16<\/code>criamos o array para o compilador; uma matriz associativa com os nomes das vari\u00e1veis \u200b\u200bcomo chaves. Para os valores que usamos <code>[get_theme_mod](https:\/\/developer.wordpress.org\/reference\/functions\/get_theme_mod\/)()<\/code>para obter os valores do Customizer. A fun\u00e7\u00e3o <code>get_theme_mod()<\/code>permite definir um padr\u00e3o como segundo par\u00e2metro se o valor n\u00e3o foi salvo. Isso nos poupa de travar o compilador com valores como <code>null<\/code>. Portanto, fornecemos o mesmo padr\u00e3o de nosso arquivo de vari\u00e1veis \u200b\u200bSCSS e quando registramos as configura\u00e7\u00f5es do Personalizador.<\/p>\n<p>Observe tamb\u00e9m que o c\u00f3digo na linha <code>#15<\/code>anexa um &#8216; <code>px<\/code>&#8216;, garantindo que o valor real da vari\u00e1vel seja v\u00e1lido. Caso contr\u00e1rio, compilaria como &#8221; <code>$text-size: 12;<\/code>&#8221; quando precisarmos de &#8221; <code>$text-size: 12px;<\/code>&#8220;. Fornecemos o array de vari\u00e1veis \u200b\u200bpara o compilador em line <code>#17<\/code>, dizendo para compilar usando essas vari\u00e1veis.<\/p>\n<p>Ent\u00e3o na linha <code>#19-22<\/code>chamamos a <code>compile()<\/code>fun\u00e7\u00e3o que deve retornar o CSS compilado como uma string. N\u00f3s produzimos uma <code>&lt;style&gt;<\/code>tag com a string CSS dentro. Como estamos viciados em <code>wp_head<\/code>, o Personalizador renderizar\u00e1 a visualiza\u00e7\u00e3o com o CSS alterado toda vez que uma altera\u00e7\u00e3o for feita.<\/p>\n<h2>4 Salvando o CSS compilado na folha de estilo do tema<\/h2>\n<p>O c\u00f3digo para compilar o CSS \u00e9 muito semelhante ao da etapa anterior. A \u00fanica diferen\u00e7a \u00e9 que agora estamos escrevendo o CSS em um arquivo em vez de emiti-lo. Voc\u00ea <strong>realmente deveria<\/strong> considerar colocar isso em uma fun\u00e7\u00e3o para que voc\u00ea n\u00e3o repita o c\u00f3digo, mas por uma quest\u00e3o de clareza eu escolhi separar os dois.<\/p>\n<p>N\u00f3s nos conectamos a <code>[customize_save_after](https:\/\/developer.wordpress.org\/reference\/hooks\/customize_save_after\/)<\/code>quais gatilhos sempre que algu\u00e9m clica em Salvar no WordPress Customizer. Neste ponto, buscamos o SCSS de origem, definimos os valores das vari\u00e1veis \u200b\u200be compilamos em CSS. Com a string CSS, usamos uma fun\u00e7\u00e3o PHP simples para grav\u00e1-la no arquivo CSS do tema.<\/p>\n<pre><code>add_action('customize_save_after', function() {\n    $compiler = new ScssPhpScssPhpCompiler();\n\u00a0\n    $source_scss = get_stylesheet_directory(). '\/assets\/scss\/style.scss';\n    $scssContents = file_get_contents($source_scss);\n    $import_path = get_stylesheet_directory(). '\/assets\/scss';\n    $compiler-&gt;addImportPath($import_path);\n    $target_css = get_stylesheet_directory(). '\/style.css';\n\u00a0\n    $variables = [\n        '$main' =&gt; get_theme_mod('theme-main', '#594c74'),\n        '$secondary' =&gt; get_theme_mod('theme-secondary', '#555'),\n        '$text-size' =&gt; get_theme_mod('theme-text-size', '12'). 'px',\n    ];      \n    $compiler-&gt;setVariables($variables);\n\u00a0\n    $css = $compiler-&gt;compile($scssContents);\n    if (!empty($css) &amp;&amp; is_string($css)) {\n        file_put_contents($target_css, $css);\n    }\n});<\/code><\/pre>\n<p>A \u00fanica diferen\u00e7a de antes est\u00e1 na linha <code>#8<\/code>onde definimos o arquivo de destino para gravar e na linha <code>#19<\/code>onde gravamos no arquivo.<\/p>\n<h2>\u00a0 Conclus\u00e3o<\/h2>\n<p>Agora temos configura\u00e7\u00f5es do Customizer que controlam as vari\u00e1veis \u200b\u200bno arquivo SCSS do tema e sobrescrevem a folha de estilo principal do tema usando essas vari\u00e1veis. N\u00e3o h\u00e1 limite para quantas ou que tipo de configura\u00e7\u00f5es voc\u00ea deseja permitir que os usu\u00e1rios do tema personalizem! Invista algum tempo na configura\u00e7\u00e3o de um sistema adequado para lidar com a formata\u00e7\u00e3o de diferentes tipos de vari\u00e1veis \u200b\u200b(por exemplo, prefixos ou p\u00f3s-fixos) e estruturar adequadamente as configura\u00e7\u00f5es do Customizer. Os usu\u00e1rios do tema apreciar\u00e3o a flexibilidade e a facilidade de personalizar seu tema!<\/p>\n<p>Voc\u00ea tamb\u00e9m pode descobrir diferentes maneiras de lidar com a grava\u00e7\u00e3o do arquivo do CSS final. Se voc\u00ea n\u00e3o quiser sobrescrever a folha de estilo principal, talvez queira envi\u00e1-la para um arquivo diferente. Voc\u00ea tamb\u00e9m pode usar <a href=\"https:\/\/sass-lang.com\/documentation\/at-rules\/control\/if\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">condicionais if-else no SCSS<\/a>.<\/p>\n<p>Este tutorial foi escrito para fornecer um trampolim sobre como voc\u00ea pode personalizar seu tema do WordPress no Customizer. Deixe-me saber se foi \u00fatil para voc\u00ea \u2013 ou se voc\u00ea quer um tutorial mais avan\u00e7ado que garanta que a folha de estilo do tema n\u00e3o seja substitu\u00edda!<\/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 tutorial mostrar\u00e1 como adicionar configura\u00e7\u00f5es de tema como cores no WordPress Customizer e compilar o tema SCSS com as vari\u00e1veis \u200b\u200bescolhidas no PHP.<\/p>\n","protected":false},"author":1,"featured_media":224105,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[930,898,898,909,909,722,722,837,1110,806,806,837,930,846,846,867,867],"tags":[1170],"class_list":["post-233728","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-assuntos","category-codigo-2","category-css-8","category-desenvolvedor","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\/233728","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=233728"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233728\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/224105"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=233728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=233728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=233728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}