Como remover a mensagem “Deprecated: Directive ‘track_errors’ is deprecated in Unknown on line 0” no WordPress

Tenho recebido relatos de colegas que estão usando as últimas versões do WordPress, mas quando vão atualizar a versão do PHP, veem a seguinte mensagem de erro:

Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0

Fui estudar a questão mas logo ocorreu comigo mesmo, quando fui atualizar um sítio de um cliente da versão 7.1 para a 7.3 (as versões 7.4 e 8.0 ainda não estão disponíveis em vários provedores).

De fato, a diretiva track_errors, normalmente configurada no documento php.ini, foi descontinuada na versão 7.2. Eu pessoalmente nunca a usei, mas me parece que ela vem ativada por padrão em várias hospedagens.

(Aliás, apesar de estar na documentação do PHP, “depreciado” é uma tradução INCORRETA da palavra “deprecated”, a função não teve “seu preço reduzido“, ela entrou em obsolescência, foi descartada. Não vamos reproduzir esta incorreção, certo?)

Mas como proceder para remover esta mensagem irritante?

Solucão 1: Desativar a diretiva no php.ini local

Verifica se já existe um arquivo php.ini na raiz da tua hospedagem. Abre este documento e ajusta a opção track_errors em Off (desligado).

Se não existir, cria um documento texto com o nome php.ini na raiz da hospedagem e adiciona a seguinte linha:

track_errors = Off

Solução 2: Desligar a diretiva no painel administrativo da hospedagem

Alguns provedores, como a Umbler, facilitam este trabalho com o controle destas variáveis e configurações diretamente no painel administrativo. Sendo assim, é só desligar a diretiva no local adequado. Na Umbler, este controle fica nas “Configurações PHP”.

Pronto! A mensagem deve ter sumido.

Este artigo te ajudou? Tens alguma dica extra ou dúvida? Escreve aí embaixo que a gente troca uma ideia!

O vídeo HTML5 no meu tema WordPress não reproduz automaticamente. Por quê?

O YouTube e o Vimeo são serviços muito usados para guardar vídeos, mas como fazer se for importante reproduzir o vídeo a partir de nossa hospedagem?

Não é de hoje que os vídeos têm se tornado um meio muito importante para comunicar-se com seu público e cada vez mais eles estão aparecendo nos sítios WordPress. O YouTube e o Vimeo são serviços muito usados para guardar estas mídias, mas em alguns casos, é importante hospedar e reproduzir o vídeo a partir de nossa hospedagem. Neste caso, como fazer?

Em HTML5, a marcação é muito simples, como vemos abaixo:

<video width="100%" height="auto" preload="auto" autoplay="autoplay" autoplay loop>
    <source src="meu-video.mp4" type=video/mp4>
</video>

Os parâmetros “autoplay” e “loop” servem para iniciar a reprodução e repeti-la automaticamente ao final do vídeo. O parâmetro “preload” faz a pré-carga do vídeo e garante que ele esteja disponível e possa ser reproduzido o mais rápido possível e que tenha menos chance de bloquear a primeira renderização da página, levando a melhorias no desempenho.

Até aí, tudo muito fácil. Com o tempo, entretanto, muitos portais e websites começaram a sobrecarregar os usuários com irritantes vídeos que pipocavam de todos os cantos e começavam a tocar sozinhos em alto som, logo que se entrava nas páginas. A leitura de conteúdos começou a ficar pobre e confusa, e isso gerou um movimento da Google e Mozilla para a mudança nas regras de reprodução de vídeo em páginas HTML5.

A mais importante delas é que os vídeos não poderiam mais tocar automaticamente, pelo menos, se tiverem som. Com isso, outras marcações se tornaram importantes para controlar cada vez mais a reprodução de vídeos.

Tudo isso para dizer que hoje é necessário adicionar o parâmetro “muted” (ou seja, “mudo”) para que o vídeo reproduza automaticamente sem a necessidade da intervenção do usuário (ou seja, que ele toque no botão “Play”, principalmente nos celulares).

Por fim, no Safari, ainda há necessidade de adicionar o parâmetro “playsinline” para que o vídeo seja tocado automaticamente no iPhone e no iPad.

O código completo fica assim, então:

<video width="100%" height="auto" preload="auto" autoplay="autoplay" autoplay loop muted playsinline>
    <source src="meu-video.mp4" type=video/mp4>
</video>

Vídeos em temas WordPress

Para incluir um vídeo no seu tema WordPress, basta adicionar este trecho no código do modelo da página do tema WordPress que estamos montando e substituir o parâmetro “src” pelo arquivo que se quer reproduzir.

Se for um vídeo fixo, podemos armazenar o vídeo junto ao próprio tema e usar get_template_directory_uri() para pegar o URL correto da pasta onde estará guardado o arquivo.

Se for um vídeo varíavel, precisamos adicionar uma opção no tema e resgatá-la com a função get_theme_mod().

Conclusão

Adicionar vídeos em temas WordPress é algo simples, só precisamos ter atenção em adicionar os parâmetros “muted” e “playsinline” para fazê-lo tocar automaticamente em nosso modelo de página.

Ficaste com alguma dúvida? Queres fazer uma observação? Deixa teu comentário aí embaixo para a gente conversar!

Quais plug-ins não devem faltar em um projeto com WordPress?

Uma das perguntas recorrentes em fóruns de suporte é “quais os plug-ins devo ter no meu website”? Veja aqui uma lista ampla de plug-ins por mim conhecidos para atender às necessidades da maioria dos projetos.

Uma das perguntas recorrentes em fóruns de suporte do WordPress é “quais os plug-ins ‘obrigatórios’ que devo ter no meu website?” ou “quais plug-ins não devem faltar no meu site?”, dentre outras semelhantes.

Pois bem, minha ideia neste texto é tentar esclarecer a relação entre plug-ins e o WordPress e fazer uma lista ampla de plug-ins por mim conhecidos para atender às necessidades recorrentes na maioria dos projetos.

(Antes de sair adicionando plug-ins, tu já fizeste a configuração inicial que sugiro na minha palestra “10 coisas que deves fazer após criar teu blog WordPress“?)

O que são plug-ins?

Sobre os plug-ins, já deves saber que são complementos ao WordPress que adicionam funcionalidades que não estão no “core”, isto é, no núcleo do WordPress. Na prática estas funcionalidades não estariam embutidas na instalação básica da nossa plataforma preferida.

Sendo assim, os plug-ins são incluídos no nosso trabalho para atender a uma necessidade específica que nem o WordPress e nem o tema escolhido não oferecem.

Plug-ins que “não devem faltar”

Como sempre, não existe uma resposta única para todos os projetos baseados no WordPress. Os plug-ins que “não devem faltar” estão ligados ao objetivo do teu trabalho. De qualquer maneira, normalmente consideramos seguintes tópicos que não estão cobertos totalmente pelo núcleo do WordPress: 

  • segurança 
  • desempenho 
  • SEO 

Passo abaixo um apanhado de plug-ins que podem complementar teu trabalho, para torná-lo mais robusto. A lista é baseada em minha experiência como programador WordPress nestes últimos anos. 

Plug-ins para aumentar a segurança

Para segurança, temos vários plug-ins que procuram ser um “canivete suíço”, com várias funcionalidades. Te listo três: 

iThemes Security: https://br.wordpress.org/plugins/better-wp-security/
Wordfence Security: https://br.wordpress.org/plugins/wordfence/
Defender Security: https://br.wordpress.org/plugins/defender-security/

Pessoalmente, eu uso o iThemes Security. Acho completo e sempre está sendo atualizado. Todos já têm um “assistente de iniciação”, que faz uma configuração inicial do plug-in para oferecer uma segurança mínima.

Para este tópico, sugiro consultar a lista WordPress Security Checklist (http://
listadesegurancawp.org/
), compilada pelo meu amigo Rafael Funchal, que é uma referência fundamental para te certificar que teu blog está seguro.

Plug-ins para melhorar o desempenho

Para velocidade, normalmente usamos a técnica de “cache” para tornar mais rápido o acesso, mas existem outras técnicas, como a redução dos tamanhos de arquivos de imagens e de código (JavaScript, CSS etc.) e a compressão destes no envio dos arquivos pelo servidor. Há plug-ins específicos e há plug-ins que tentam reunir diversas funcionalidades. 

Plug-ins para compressão de imagens

reSmush.it: https://br.wordpress.org/plugins/resmushit-image-optimizer/
Imagify: https://br.wordpress.org/plugins/imagify/
Smush: https://br.wordpress.org/plugins/wp-smushit/
Imsanity: https://br.wordpress.org/plugins/imsanity/
ShortPixel Image Optimizer: https://br.wordpress.org/plugins/shortpixel-image-optimiser/

Eu uso o reSmush.it. Foi um dos primeiros plug-ins de compressão que conheci, é gratuito e fácil de usar. 

Plug-ins de cache 

Fastest Cache: https://br.wordpress.org/plugins/wp-fastest-cache/
LiteSpeed Cache: https://br.wordpress.org/plugins/litespeed-cache/
WP Super Cache: https://br.wordpress.org/plugins/wp-super-cache/
W3 Total Cache: https://br.wordpress.org/plugins/w3-total-cache/

Eu uso o Fastest Cache por ser simples e fácil de usar, mas os outros têm mais opções para controlar como está sendo feito o cache e podem ser importantes para otimizar ao máximo tua hospedagem. 

Plug-ins de otimização

Autoptimize: https://br.wordpress.org/plugins/autoptimize/
Hummingbird: https://br.wordpress.org/plugins/hummingbird-performance/
WP-Optimize: https://br.wordpress.org/plugins/wp-optimize/

Estes procuram juntar em um só lugar várias técnicas para tornar teu website mais rápido. Eu uso de acordo com o projeto, às vezes, não uso nenhum. O mais “querido” da comunidade é o Autoptimize. 

Plug-ins para SEO

Yoast SEO: https://br.wordpress.org/plugins/wordpress-seo/
Rank Math: https://br.wordpress.org/plugins/seo-by-rank-math/
All in One SEO: https://br.wordpress.org/plugins/all-in-one-seo-pack/
SmartCrawl: https://br.wordpress.org/plugins/smartcrawl-seo/

SEO é uma técnica para tornar teu website mais fácil de ser indexado pelos mecanismos de busca, especialmente o Google. Isso colabora para que ele seja mais facilmente encontrado pelos usuários e, principalmente, teu público-alvo.

O Yoast SEO é o meu preferido, por ser muito didático e completo. Sua versão básica serve para a maioria dos projetos e no caso projetos maiores, há complementos pagos que cobrem problemas específicos. 

Conclusão

O uso de plug-ins complementares é, sem dúvida, uma técnica importante para auxiliar na segurança e desempenho de qualquer projeto baseado no WordPress, mas eles devem ser usados com critério, de acordo com a necessidade do trabalho. Não adianta encher teu sítio de plug-ins e achar que eles irão resolver o problema sozinhos.

Também vale destacar que todos os plug-ins acima listados têm suas vantagens e desvantagens, não pretendo me estender nisso, porque é muita coisa para considerar. Minha ideia com este artigo foi listar plug-ins que me são conhecidos por tópico e funcionalidade para que possas fazer teus próprios testes.

Todos os plug-ins listados são bem recomendados e são gratuitos (pelo menos em suas funcionalidades básicas, que servem para a maioria dos projetos).

Tens alguma sugestão de plug-in que não listei aqui? Ficaste com alguma dúvida? Comenta aí embaixo!

Como resolver o erro “xcrun: error: invalid active developer path” no macOS

Todos sabem que uso um Mac como ferramenta de trabalho e num determinado dia, resolvi que era hora de atualizar minha máquina para a versão mais nova do macOS.

Muito bem, fiz a atualização e continuei trabalhando normalmente por uns bons dias, até que fui usar o Git para criar um novo repositório na minha máquina e recebi um erro que eu não tinha visto ainda:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Para quem está acostumado com o Xcode, deve saber que o xcrun é um utilitário permite que se rode diversas ferramentas do Xcode por linha de comando. Olhando a mensagem de erro, pode-se deduzir que o Xcode não está instalado na máquina.

Eu tinha estas ferramentas instaladas, mas pelo visto, o instalador da nova versão do macOS simplesmente apagou tudo e esqueceu de reinstalá-las, apesar de manter o resto todo no lugar.

Ainda bem que a solução é simples: basta reinstalar o Xcode baixando o instalador do portal de desenvolvedores da Apple (https://developer.apple.com/downloads/).

Se tu não usas o pacote completo, não é necessário baixar este arquivo, basta rodar o seguinte na linha de comando:

xcode-select --install
Escolhe [Obter Xcode] para baixar o pacote completo ou [Instalar] só para as ferramentas de linha de comando.

O sistema vai abrir um diálogo para tu escolheres baixar todo o Xcode (“Obter Xcode”) ou só as ferramentas de linha de comando (“Instalar”).

Seguem-se as confirmações e o aceite da licença de uso, como de praxe, e tudo necessário será instalado, inclusive o Git, é claro. Depois disso, a ferramenta vai voltar a funcionar novamente.