it-swarm-pt.tech

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

Muitas vezes, uma solução rápida para um problema,canser resolvido por hackear o 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 mudar como o WordPress funciona, usando plugins. 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 é a única solução, mas se você está 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ê tiver algo para adicionar, sinta-se à vontade para adicioná-lo como uma pergunta .

8
googletorp

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

Obviamente, TODO o seu código não faria 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 muitas vezes exigir uma resolução de problemas complicada e trabalhos complicados, mas, mais frequentemente, o que acontece é descobrir que já existe um gancho para resolver o seu problema , para que não seja necessário 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 seja difícil 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 WP você agora 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!

6
jerclarke

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

Photo: Don't Hack WordPress Core; Or the Kitten Get's it!

:)

3
MikeSchinkel

Há também o fato de que, depois de atualizar o wordpress para a versão mais recente, todas as alterações nos arquivos principais serão sobrescritas.

3
Tom J Nowell

Esse aviso é muito antigo, muito antes dos tempos de sistemas de controle de versão descentralizados comoGit. Naquela época, para hackear o core, você precisava manter as alterações como um conjunto de patches. Como alguns desenvolvedores (em sua maioria inexperientes, mexendo com o Wordpress) não fizeram correções para acompanhar suas mudanças, eles se depararam com 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 diversão. No entanto, a analogia entre"hacking wordpress core"e"masturbating"foi levantada. Isso provavelmente levou a alguma popularidade.

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

Primeiro de tudo, é perfeitamente válido, possível efactívelambos no passado e no presente para hackear o núcleo. No passado, com conjuntos de correções e ainda mais fácil hoje, usando o git eo repositório git do Wordpress publicamente disponível 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 encorajá-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 no repositório de código original), o que é uma coisa boa normalmente, o Wordpress não fez pelas bibliotecas que elas assumiram em suas árvores a partir de fontes upstream. Portanto, mantenha estas frases de ânimo leve, não é nada que os desenvolvedores do Wordpressleadecoretenham 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 do jeito que quiservocênão outros. Wordpress é Software Livre por uma razão e você deveria estar orgulhoso disto e o que você está fazendo com isto. Publicamente ou privadamente Se você estiver 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.

1
hakre

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 de WP já, basicamente invalidando o bug. Até lá, posso aplicar facilmente o patch que criei nas instalações atuais/novas.

2) Foi para adicionar log 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 em 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 nós reprojetamos o recurso para funcionar de uma maneira diferente que não exigia uma modificação básica.

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

1
gabrielk