Presque depuis l’aube de l’inclusion des mécanismes de mise à niveau des plugins et des thèmes dans le noyau il y a plus de dix ans, les développeurs tiers ont demandé un moyen simple de contourner le système. WordPress 5.8 répondra enfin à cette demande de fonctionnalité.
Bien qu’il soit depuis longtemps possible de filtrer le système de mise à jour, les méthodes pour le faire étaient plus complexes que nécessaire. Ils ont également exigé que le plugin lui-même soit actif sur un site. Un simple indicateur pour activer / désactiver la fonctionnalité sur une base par plugin est attendu depuis longtemps.
«L’utilitaire est qu’il s’agit d’une API abstraite qui permet deux choses», a écrit Dion Hulse dans une requête d’extraction GitHub qui a corrigé le code :
- Un plugin pour déclarer un URI / une chaîne qui, s’il est défini, l’API de mise à jour de WordPress.org ignore le plugin
- Le code en cours d’exécution sur le site peut utiliser ces en-têtes hostname / data pour offrir une mise à jour du plugin à stocker dans le transitoire de mise à jour, sans avoir à sauter à travers des obstacles tels que le remplacement du transitoire / vérifier trop souvent / etc
org/plugin/, WordPress ne tentera pas de la mettre à jour.
WordPress analysera l’URL incluse dans l’en-tête URI de mise à jour du plugin et utilisera le nom d’hôte comme valeur. Les développeurs peuvent alors s’y connecter et faire tout ce dont ils ont besoin.
Les auteurs de plugins avec des extensions hébergées par WordPress.org n’auront pas à se soucier de l’ajout de ce nouvel en-tête. La règle n ° 8 des directives relatives aux plugins interdit déjà l’envoi de code exécutable via des systèmes tiers. La sous-section suivante couvre plus spécifiquement ce scénario :
Diffuser des mises à jour ou installer des plugins, des thèmes ou des modules complémentaires à partir de serveurs autres que WordPress.org
La discussion a pris de l’ampleur il y a 13 mois sur un billet de six ans. « Un plugin a maintenant été supprimé sans cérémonie du site Web d’un client lors de l’exécution de la mise à jour automatique du plugin », a écrit un contributeur avec le nom d’utilisateur apedog. «C’est en fait la deuxième fois que je rencontre ce problème de conflit de noms pour un de mes plugins. Dans les deux cas, j’avais choisi un nom de plugin sans conflit de dénomination apriori. Cependant, plus tard, quelqu’un d’autre avait également écrit un plugin avec le même nom générique et l’avait soumis au dépôt wp.org. À partir de là, le bon fonctionnement de mon plugin est interrompu. »
Bien que le problème de suppression ne se soit pas avéré être un problème du côté de WordPress, c’était peut-être l’étincelle nécessaire pour poursuivre la conversation.
Une discussion active n’indique pas toujours qu’une fonctionnalité obtient le feu vert. Cela ne signifie pas non plus que quelqu’un écrira le code. Beaucoup de ces billets ont eu des mois ou des années de conversation, pour finalement languir et mourir. Ce billet semblait aussi correspondre à cette facture. Il a été ouvert en 2015. Cependant, les nouvelles fonctionnalités sont parfois plus une question de timing, juste du pur hasard, ou un développeur avec un accès de commit principal faisant simplement le travail.
Le ticket pour les plugins a été accepté et engagé sur WordPress. Cependant, il reste la question de savoir si cela va atterrir pour les thèmes. Le mouvement dans le billet à thème de 11 ans indique que cela pourrait arriver.
Comme ça :
J’aime chargement..