O WordPress 4.4 encerrou a era do arquivo my-hacks.php que foi introduzido em 2003 e para a época trazia uma grande inovação: a possibilidade de alterar o WordPress sem mexer em seu core. O benefício em usar o recurso era o de não perder as alterações realizadas após o WP ser atualizado.
Antes de 2003 alterávamos o core do WordPress. Com o surgimento do my-hacks.php as alterações ficaram centralizadas, organizadas e com maior longevidade. Com a chegada da Plugin API abriu-se um mundo sem precedentes e o my-hacks.php caiu em desuso pela plataforma a partir de 2008 com a disponibilidação da versão 2.8 do WordPress.
Como o arquivo my-hacks.php era utilizado
Era criado um arquivo PHP que precisava ser nomeado como my-hacks.php e residir na pasta raiz do WordPress. Esse arquivo continha funções e variáveis que sobrescrevia o comportamento padrão da plataforma e para que isso ocorresse ele era carregado imediatamente antes dos plugins serem carregados.
A ativação do recurso acontecia, além da criação do arquivo my-hacks.php, ao ativar a opção “Use legacy my-hacks.php file support” na opção Options > Miscellaneous no painel administrativo do WordPress.
Com as alterações centralizadas nesse arquivo, o processo de atualização do core do WordPress passou a ocorrer sem a perda das alterações que seus arquivos tinham sofrido, uma vez que todas as alterações estavam centralizadas em um arquivo: o my-hacks.php, que não era impactado pelo processo de atualização.
A Plugin API do WordPress
A Plugin API do WordPress é surpreendente e te permite personalizar o core da plataforma da forma mais inimaginável. Através dela é possível integrar qualquer negócio ao ecossistema do CMS mais utilizado no mundo e permite desenvolver qualquer coisa tendo o WP como base.
Essa API pode ser utilizada em arquivos de plugins e temas e é composta pela tríade: hooks (ganchos), Actions (ações) e Filters (filtros). As Actions e Filters são tipos de hooks da plataforma que lhe permite chamar funções específicas em tempos específicos.
As Actions são desencadeadas através de eventos específicos do WordPress como a publicação de post e a esse evento é possível associar uma função que responderá a ação. Os Filters são uma forma do WordPress enviar dados para uma função vinculada e receber esses dados tratatados de volta, seja antes de salvar os dados no banco de dados ou exibi-los na interface.
A evolução dos hooks no WordPress
Observando o gráfico na imagem abaixo é possível notar o quanto a inserção dos hooks evoluíram nos releases do WordPress. A plataforma foi ficando cada vez mais flexível e possível de ser personalizada ao longo do tempo.
A cada nova versão disponibilizada temos novos ganchos a disposição, sejam Actions ou Filters.
Como migrar o my-hacks.php para um plugin
Se você ainda utiliza o my-hacks.php, será necessário convertê-lo para um plugin WordPress e assim garantir ao funcionamento das suas implementações. A partir da versão 4.4 o arquivo não será mais suportado pelo core.
Migrar o my-hacks.php para um plugin WordPress é simples e requerer três simples passos:
- Mover o arquivo da raiz do WordPress para a pasta de plugins, por padrão /wp-content/plugins;
- Adicionar o cabeçalho de plugin ao arquivo;
- Ativar o plugin.
O término do suporte ao my-hacks.php
A Plugin API do WordPress surgiu em 2005 e logo se passaram dez anos, um tempo considerável para o core da plataforma ainda suportar um recurso em desuso e assim garantir uma maior longevidade das aplicações desenvolvidas em sua base.