Quais são alguns dos motivos pelos quais você não deve hackear os arquivos principais do WordPress?

8

Normalmente, uma solução rápida para um problema, pode ser resolvida por meio de um hacker no núcleo do WordPress, que está mudando o código que é o próprio WordPress.

Este é um caminho muito perigoso para tomar! Não faça isso nunca!

Você sempre pode alterar o funcionamento do WordPress usando plug-ins. Isso às vezes pode ser cansativo e difícil, mas o trabalho extra sempre supera os problemas que você obtém alterando o próprio núcleo do WordPress.

Alguns diriam que pode haver situações em que hackear o núcleo seja a única solução, mas se você estiver aqui fazendo perguntas, você definitivamente não está nessa situação .

Esta questão, pretende ser uma introdução a um trabalho coletivo de por que você nunca deve hackear o núcleo do WordPress, que podemos usar como referência. Se você tem algo para adicionar, fique à vontade para adicioná-lo como uma pergunta.

    
por googletorp 04.07.2016 / 16:47

5 respostas

6

A melhor razão para não hackear o core é que o que você está fazendo deve ser retrabalhado como um patch para o core!

Obviamente, TODO o seu código não seria um bom patch, ou pelo menos raramente o faria. Em vez disso, você precisa descobrir qual gancho (ação ou filtro) está faltando no núcleo que permitiria que você faça o que for necessário sem invadir o núcleo. Nós não precisamos hackear o núcleo quando existem filtros / ações adequados, então encontrar o que falta é sempre remover a necessidade de hackear o núcleo.

Isso pode exigir muitas vezes uma resolução de problemas difícil e trabalhos complicados, mas com mais frequência, o que acontece é que você descobre que já existe um gancho para resolver seu problema , para que você não tenha para cortar o núcleo!

No raro cenário em que realmente não há gancho, você só precisa postar no trac explicando por que seu gancho precisa existir. Se você receber o seu novo gancho, então você tem um corte temporário de 1 linha para o núcleo que não precisa se preocupar com a próxima vez que você atualizar.

Mesmo que você não consiga fazer as coisas no Core trac (é preciso convencer algumas coisas), você ao menos reduziu seu núcleo ao mínimo possível: 1 linha de código para sua ação / filtro. Quando você atualiza o WP, você já substituiu todo o código que você colocou no núcleo com uma linha que precisa ser atualizada, e seu plugin pode permanecer o mesmo!

    
por jerclarke 11.09.2010 / 22:24
3

Há também o fato de que, quando você atualiza o wordpress para a versão mais recente, todas as alterações feitas nos arquivos principais são sobrescritas

    
por Tom J Nowell 12.09.2010 / 15:34
3

Eu acredito que isso, diretamente do WordPress Codex , diz tudo:

:)

    
por MikeSchinkel 09.03.2017 / 19:04
1

Houve 3 vezes e meia a necessidade de hackear o núcleo para resolver um problema.

1) Foi uma correção de bug. Eu relatei isso como um bug no Trac junto com um patch diff. A funcionalidade está sendo re-trabalhada na próxima versão do WP, basicamente invalidando o bug. Até lá, posso aplicar facilmente o patch criado em instalações atuais / novas.

2) Era para adicionar logging muito detalhado para tentar rastrear um problema muito específico que um usuário estava encontrando. Não é uma situação do dia a dia e certamente não está relacionada à funcionalidade.

3a) Eu queria adicionar um campo extra para Categorias no WP 2.8.5. Os ganchos embutidos para fazer isso não funcionaram corretamente (problema conhecido), e acredito que esse problema específico foi corrigido na árvore 2.9. No final do dia, a implementação foi falha e reprojetamos o recurso para funcionar de uma maneira diferente que não exigia uma modificação básica.

3b) Achei que precisava modificar o core para alterar os links de moderação de comentários, mas enquanto estava pesquisando, encontrei alguns ganchos que não conhecia anteriormente e consegui implementar o recurso como um plug-in.

    
por gabrielk 13.09.2010 / 21:18
1

Esse aviso é muito antigo, muito antes dos tempos de sistemas de controle de versão descentralizados, como o Git . Naquela época, para hackear o core, você precisava manter as alterações como um conjunto de patches. Como alguns desenvolvedores (na maioria inexperientes, mexendo com o Wordpress) não fizeram correções para acompanhar as mudanças, eles tiveram um problema: no final, eles tiveram problemas com a atualização do Worpdress para a nova versão e o ditado nasceu.

O aviso foi mais ou menos uma referência cultural para o "Toda vez que você se masturba .. Deus mata um gatinho " legenda da imagem e, obviamente, significava como divertido. No entanto, a analogia entre "hacking wordpress core" e "masturbating" foi criada. Isso provavelmente levou a uma certa popularidade.

O núcleo de hackers é uma espada de dois lados e eu acho que é por isso que você perguntou.

Primeiro de tudo, é perfeitamente válido, possível e possível tanto no passado quanto no presente para hackear o núcleo. No passado, com conjuntos de patches e ainda mais fácil hoje, usando o git e o git repo do Wordpress disponíveis publicamente no Github .

Em vez de dizer aos usuários (que talvez nem entendam o que é isso), eles são burros fazendo piadas sobre eles, é melhor incentivá-los e educá-los.

Além disso, e este é um dos lados mais escuros na história do Wordpress, a comunidade Wordpress não promove bem aqui. Mesmo que isso incentive os usuários a trazerem as alterações para o upstream (o que significa que o repositório de código original) é uma coisa boa, normalmente, o Wordpress não fez pelas bibliotecas que elas assumiram em suas árvores a partir de fontes upstream. Portanto, mantenha essas frases de ânimo leve, não é nada que os desenvolvedores do lead e core do Wordpress tenham seguido para o código que eles receberam dos outros também.

Então, se você julgar o ditado, olhando para as mãos dos desenvolvedores, é puramente uma piada, é apenas uma referência cultural vulgar.

A melhor sugestão que posso dar é se você for um desenvolvedor e quiser fazer alterações no core, faça isso. Faça isso da maneira que agrada a você e não dos outros. Wordpress é Software Livre por uma razão e você deve se orgulhar disso e do que você está fazendo com ele. Publicamente ou privadamente Se você está procurando maneiras de tornar isso mais viável, crie um fluxo de trabalho em torno dele, como faria se estivesse fazendo outro tipo de trabalho de desenvolvimento.

    
por hakre 23.05.2013 / 11:45

Tags