Pourquoi?
Parfois, une solution simple pour modifier le comportement de WordPress lui-même ou d'un plugin pourrait être de modifier directement les fichiers du plugin ou de WordPress. En venant avec une telle idée, la réponse habituelle est:
Ne piratez pas le cœur.
Pourquoi est-ce généralement une mauvaise idée de changer les fichiers principaux?
Considérer?
Parfois, cependant, des choses qui peuvent être critiques pour un site sont tout simplement impossibles à faire, d'une manière agréable sans modifier les fichiers de base. Dans une telle situation, que devez-vous savoir avant de commencer et de commencer le piratage de base?
Comment?
Vous avez considéré toutes les options, mais la seule solution consiste à pirater les fichiers principaux. Comment devez-vous procéder? Comment le fait d'avoir un noyau modifié influencera-t-il les flux de travail, comme la mise à jour?
admin_body_class
etadmin_footer
ce qui signifie capturer la page entière . Je viens de l'essayer et il y a> 2 Mo de contenu qui doit être recherché pour la section pertinente, puis analysé et modifié avant la sortie. Ou, je peux ajouter une ligne de code dans la partie droite demy-sites.php
et utiliser un outil de comparaison pour appliquer le correctif après les mises à jour (en supposant qu'il ait été modifié du tout). Il est vraiment difficile de plaider contre la modification du noyau dans des scénarios comme celui-ci.Réponses:
Si vous devez pirater le noyau, envisagez de le faire de manière à le rendre extensible pour les autres.
Ajouter un crochet d'action
Neuf fois sur dix, vous pourriez faire ce que vous vouliez si seulement il y avait un
do_action
appel supplémentaire dans un fichier spécifique. Dans ce cas, ajoutez l'action, documentez-la et soumettez un correctif via Trac . S'il y a une bonne raison à votre patch (c'est-à-dire que vous n'êtes pas le seul à l'utiliser), vous pouvez probablement l'ajouter au core.Ensuite, créez un plug-in personnalisé (vous n'avez pas besoin de le libérer / le distribuer!) Qui se connecte à ce nouveau hook et remplit toutes les fonctions que vous en avez besoin.
Refactoriser un fichier core
D'autres fois, vous pourriez avoir besoin d'un morceau de code pour se comporter différemment. Passez une variable par référence, par exemple, ou renvoyez une valeur plutôt que de l'écho. Prenez le temps de vous asseoir et de remanier le code pour qu'il fasse ce que vous en avez besoin ... puis envoyez un patch via Trac pour que le reste d'entre nous puisse bénéficier de votre travail.
Voyez-vous un thème se développer ici? Le piratage de base n'est pas nécessairement un non-non ... juste quelque chose que la plupart des développeurs décourageront fortement pour les nouveaux utilisateurs ou les programmeurs novices (si vous nous demandez comment faire quelque chose, nous vous proposerons un plug-in à chaque fois avant même envisager de vous suggérer de pirater le noyau).
Le noyau de piratage est la façon dont WordPress se développe et évolue, mais c'est dangereux pour quelqu'un qui apprend juste PHP ou n'a aucune expérience de travail avec les fichiers WP. Veuillez commencer par un plug-in avant de toucher au core - si vous cassez un plug-in, vous pouvez le désinstaller rapidement (en le supprimant via FTP si nécessaire) ... mais si vous cassez le core, de mauvaises choses peuvent arriver à votre site et potentiellement à votre base de données ainsi.
Mais si vous êtes dans une situation où un hack de base est inévitable, faites le changement. Aussi, publiez votre modification dans un endroit bien en vue (si votre blog est très visible, cela pourrait être suffisant ... mais je suggère Trac parce que c'est ainsi que les changements de communauté sont intégrés dans la prochaine version). Votre changement pourrait être la solution miracle qui pourrait résoudre des problèmes dans une centaine de sites différents ... contribuez donc à la communauté qui vous a aidé à créer votre site.
Si le changement est engagé, votre hack devient partie intégrante du noyau et vous n'aurez plus à vous en soucier à l'avenir. Si ce n'est pas le cas, vous avez au moins une documentation détaillée sur la façon de réimplémenter le hack après avoir mis à niveau WP en 3 mois.
la source
Eh bien, c'est parce que c'est une suggestion pour le premier niveau, les utilisateurs inexpérimentés. Ceux qui pirateraient le cœur briseraient leur installation, ils ne peuvent pas garantir que leurs modifications persistent une mise à jour, etc.
Bien sûr, vous pouvez réellement pirater le cœur, par exemple en utilisant un système de gestion de version comme SVN. Il vous aide à garder vos propres modifications sur le code principal en ligne avec les mises à jour du projet. Il aide également à créer des correctifs pour Wordpress et à les envoyer au projet.
Le noyau de piratage est en fait faire évoluer Wordpress.
Considérations
Si vous ne voulez pas installer un SVN complet et que vous savez toujours quels (certains) fichiers vous avez modifiés, vous pouvez utiliser plus d'outils de bas niveau comme Diff / Merge (pour win: WinMerge ) ou des éditeurs avec des capacités de comparaison (par exemple Notepad ++ avec Compare Plugin ). Sous Linux, vous pouvez facilement installer des utilitaires de ligne de commande qui font de même. L' éditeur Geany est livré avec une belle intégration shell. .
Je préfère Eclipse PDT pour les travaux difficiles. Mais ce n'est pas pour la modification rapide ou le piratage.
Je dirais donc que si vous utilisez les bons outils et que vous voulez faire attention à pirater le cœur, c'est la voie à suivre. Si vous piratez quelque chose ensemble qui reste sur un autre serveur d'utilisateurs Noob (ouais, Wordpress est assez populaire), fournissez simplement un plugin qui peut être lancé facilement s'il casse quelque chose.
la source
Les problèmes sont les suivants:
Si vous le souhaitez, rendez-vous la vie plus facile:
// PATCH START
et// PATCH END
)Parfois, c'est 100% inévitable, mais je peux presque toujours trouver une autre façon de réaliser les choses ou de modifier les spécifications en raison du coût probable du temps passé à le faire. C'est juste un cauchemar de maintenance, et beaucoup de gens optent pour le hacking core, au lieu de chercher la bonne solution.
la source