Por quê?
Às vezes, uma solução fácil para alterar o comportamento do WordPress ou de um plugin pode ser alterar diretamente os arquivos do plugin ou do WordPress. Ao ter essa ideia, a resposta usual é:
Não corte o núcleo.
Por que geralmente é uma má idéia alterar os arquivos principais?
Considerar?
Às vezes, no entanto, coisas que podem ser críticas para um site são simplesmente impossíveis, de uma maneira agradável, sem alterar os arquivos principais. Em uma situação dessas, do que você precisa estar ciente antes de prosseguir e iniciar o núcleo de hackers?
Quão?
Você considerou todas as opções, mas a única solução é invadir os arquivos principais. Como você deve fazer isso? Como ter um núcleo alterado influenciará os fluxos de trabalho, como a atualização?
admin_body_class
e oadmin_footer
que significa capturar a página inteira . Eu apenas tentei e há> 2 MB de conteúdo que deve ser pesquisado na seção relevante, depois analisado e modificado antes da saída. Ou então, posso adicionar uma linha de código à parte corretamy-sites.php
e usar uma ferramenta diff para aplicar o patch após as atualizações (supondo que ele tenha sido modificado). É realmente difícil argumentar contra a modificação do núcleo em cenários como este.Respostas:
Se você precisar hackear o core, considere fazê-lo de uma maneira que o torne extensível para outras pessoas.
Adicionar um gancho de ação
Nove em cada dez vezes, você poderia fazer o que queria se houvesse uma
do_action
chamada extra em um arquivo específico. Nesse caso, adicione a ação, documente e envie um patch via Trac . Se houver uma boa razão para o seu patch (ou seja, você não é o único que o utilizaria), provavelmente poderá adicioná-lo ao núcleo.Em seguida, crie um plug-in personalizado (você não precisa liberá-lo / distribuí-lo!) Que se conecta a esse novo gancho e executa qualquer função que você precise.
Refatorar um arquivo principal
Outras vezes, você pode precisar apenas de um pedaço de código para se comportar de maneira diferente. Passe uma variável por referência, por exemplo, ou retorne um valor em vez de repeti-lo. Reserve um tempo para sentar e refatorar o código para que ele faça o que você precisa ... envie um patch pelo Trac para que o restante de nós possa se beneficiar do seu trabalho.
Você vê um tema se desenvolvendo aqui? O núcleo de hackers não é necessariamente um não-não ... apenas algo que a maioria dos desenvolvedores desencorajará para novos usuários ou programadores iniciantes (se você está nos perguntando como fazer algo, sugerimos um plug-in todas as vezes antes de considerando sugerir que você corrompa o núcleo).
O núcleo do hacking é a maneira como o WordPress se desenvolve e evolui, mas é perigoso para alguém que está apenas aprendendo PHP ou sem experiência em trabalhar com arquivos WP. Comece com um plug-in antes de tocar no núcleo - se você o interromper, poderá desinstalá-lo rapidamente (removendo via FTP, se necessário) ... mas se você romper o núcleo, coisas ruins podem acontecer ao seu site e potencialmente ao seu site. banco de dados também.
Mas se você estiver em uma situação em que um hack principal é inevitável, faça a alteração. Além disso, publique sua alteração em um local de destaque (se o seu blog for altamente visível, isso pode ser suficiente ... mas sugiro o Trac porque é assim que as alterações da comunidade são atraídas para a próxima versão). Sua alteração pode ser a bala mágica que pode resolver problemas em centenas de sites diferentes ... por isso, contribua para a comunidade que o ajudou a criar seu site.
Se a alteração for confirmada, seu hack se tornará parte essencial e você não precisará se preocupar com isso no futuro. Caso contrário, pelo menos você possui documentação detalhada sobre como reimplementar o hack após atualizar o WP em 3 meses.
fonte
Bem, isso é porque é uma sugestão para usuários inexperientes e de primeiro nível. Os hackers interrompem a instalação, não podem garantir que suas alterações persistem em uma atualização etc.
Claro que você pode realmente hackear o núcleo, por exemplo, usando um sistema de gerenciamento de versões como o SVN. Ele ajuda a manter suas próprias alterações no código principal alinhadas com as atualizações do projeto. Também ajuda a criar patches para o Wordpress e enviá-los para o projeto.
O núcleo de hackers está de fato fazendo o Wordpress evoluir.
Considerações
Se você não deseja instalar um SVN completo e ainda sabe quais (alguns) arquivos foram alterados, pode usar mais ferramentas de baixo nível, como Diff / Merge (para win: WinMerge ) ou editores com recursos de comparação (por exemplo, Notepad ++ com Compare Plugin ). No Linux, você pode instalar facilmente utilitários de linha de comando que fazem o mesmo. O editor Geany vem com uma ótima integração de shell entre btw. .
Eu prefiro o Eclipse PDT para os trabalhos difíceis. Mas isso não é para edição rápida ou invasão.
Então, eu diria que, se você estiver usando as ferramentas certas e quiser tomar cuidado, invadir o núcleo é o caminho a seguir. Se você estiver hackeando algo que sobrou em algum outro servidor de usuários Noob (sim, o Wordpress é bastante popular), forneça um plugin que possa ser jogado fora facilmente se quebrar alguma coisa.
fonte
Os problemas são:
Se você deseja fazer isso, facilite a vida:
// PATCH START
e// PATCH END
)Às vezes, isso é 100% inevitável, mas quase sempre consigo encontrar outra maneira de conseguir as coisas, ou alterar as especificações devido ao provável custo de tempo gasto fazendo isso. É apenas um pesadelo de manutenção, e muitas pessoas optam pelo núcleo de hackers, em vez de procurar a solução adequada.
fonte