Les tests de compatibilitĂ© PHP WordPress consistent Ă vĂ©rifier si votre plugin se comporte correctement sur chaque combinaison de versions PHP et WordPress que vous supportez. Avec un sandbox WordPress sur wp.run, vous pouvez lancer des installations de test propres, comme PHP 8.4 avec WordPress 6.9, puis rĂ©pĂ©ter le mĂȘme test de fumĂ©e sans serveurs locaux ni risque en production.
Vous pouvez lancer la premiÚre vérification dÚs maintenant : appuyez sur Lancer WordPress en haut de cette page, choisissez les versions PHP et WordPress que vous voulez tester, et exécutez le plugin dans un site WordPress jetable avec un accÚs wp-admin réel.
Pourquoi la compatibilité PHP WordPress nécessite une matrice
Un plugin peut passer sur un stack et Ă©chouer sur un autre. Les changements PHP peuvent exposer de la syntaxe obsolĂšte, un typage plus strict, des fonctions supprimĂ©es, ou des avertissements qui nâapparaissaient pas sur un ancien environnement dâexĂ©cution. Les changements WordPress peuvent affecter le comportement de lâĂ©diteur, les hooks, les endpoints REST, les Ă©crans dâadministration et le JavaScript embarquĂ©.
Câest pourquoi une simple vĂ©rification « ça marche sur ma machine » ne suffit pas. Les tests de compatibilitĂ© de plugin doivent couvrir les combinaisons que vos utilisateurs utilisent rĂ©ellement :
| Dimension | Ce quâil faut dĂ©cider | Exemple |
|---|---|---|
| Versions WordPress | Version actuelle, précédente et suivante que vous supportez | WordPress 6.9 et 6.8 |
| Versions PHP | La plus ancienne supportée, la cible par défaut, la cible la plus récente | PHP 8.1, 8.4, 8.5 |
| Ătat du plugin | Nouvelle installation, chemin de mise Ă jour, dĂ©pendances actives | Installation propre plus WooCommerce |
| Profondeur du test | Test de fumée, test admin, test front-end, test de désinstallation | Activer, configurer, utiliser, désactiver |
Le manuel officiel de WordPress Core tient Ă jour un tableau de compatibilitĂ© PHP pour WordPress lui-mĂȘme. Prenez-le comme rĂ©fĂ©rence pour le cĆur. Votre travail consiste Ă tester votre plugin par-dessus ces stacks, car la compatibilitĂ© de WordPress core ne garantit pas que chaque plugin ou thĂšme se comporte correctement.
Construisez une petite matrice PHP x versions WordPress
Commencez par la matrice la plus petite qui répond à une vraie question de version. Pour la plupart des équipes, cela veut dire trois lignes avant chaque version significative :
- Le stack le plus ancien supportĂ©. Cela dĂ©tecte la syntaxe ou lâusage dâAPI qui casse chez les utilisateurs qui nâont pas encore mis Ă jour.
- Le stack actuel recommandĂ©. Câest le stack que vous attendez pour la plupart de vos nouveaux tests et dĂ©mos.
- Le stack le plus récent. Cela détecte les changements PHP et WordPress à venir avant que les utilisateurs ne les signalent.
Sur wp.run, la fenĂȘtre de lancement permet de choisir explicitement les versions WordPress et PHP. Vous pouvez aussi utiliser des URLs de lancement pour lancer un sandbox WordPress depuis un lien de test reproductible, par exemple :
https://wp.run/new?php=8.4&wp=6.9
Pour les presets pris en charge, ajoutez le paramĂštre plugin afin de rendre lâenvironnement reproductible :
https://wp.run/new?plugin=woocommerce&php=8.4&wp=6.9
Pour vos propres builds de plugin, téléchargez le ZIP dans wp-admin et notez le build exact. Chaque ligne de votre matrice doit indiquer un stack, une version de plugin, les vérifications effectuées et le résultat.
Comment tester la compatibilité du plugin avec PHP 8.4 sur wp.run
- Lancez le stack cible. Appuyez sur Lancer WordPress, choisissez PHP 8.4 et la version WordPress que vous voulez valider, créez le sandbox. wp.run provisionne une installation WordPress temporaire avec des identifiants administrateur et une URL
*.wprun.site. - Confirmez lâenvironnement. Ouvrez wp-admin, vĂ©rifiez Outils â SantĂ© du site â Informations pour les versions PHP et WordPress avant de commencer les tests.
- Installez ou activez le plugin. Chargez un preset depuis un paramĂštre dâURL de lancement, ou tĂ©lĂ©chargez le ZIP de votre plugin dans wp-admin. Notez le build exact du plugin dans votre journal de test.
- ExĂ©cutez la vĂ©rification dâactivation. Surveillez les erreurs fatales, avis dâadministration, dĂ©pendances manquantes, boucles de redirection et Ă©checs de lâassistant de configuration.
- Exercez la fonctionnalité principale. Exécutez le plus petit flux de travail réel que le plugin est censé supporter : créer un formulaire, compléter un paiement, ajouter un bloc, générer un sitemap, importer du contenu ou déclencher la tùche planifiée.
- VĂ©rifiez les surfaces admin et front-end. Ouvrez lâĂ©diteur de blocs, les paramĂštres du plugin, la sortie de la page publique, les endpoints REST le cas Ă©chĂ©ant et la console du navigateur.
- RĂ©pĂ©tez sur le stack suivant. Lancez la version PHP ou WordPress suivante et exĂ©cutez la mĂȘme liste de contrĂŽle. Changez une dimension Ă la fois quand vous isolez un Ă©chec.
Cela vous donne rapidement un signal de compatibilitĂ© manuel. Cela ne remplace pas les tests unitaires, les tests dâintĂ©gration ou lâanalyse statique, mais cela dĂ©tecte les Ă©checs au niveau produit que les utilisateurs voient rĂ©ellement dans wp-admin et sur le front-end.
Ajoutez un scan statique, mais ne vous arrĂȘtez pas lĂ
Les scanners de compatibilitĂ© statiques sont utiles car ils dĂ©tectent les motifs de code avant lâexĂ©cution. La leçon Learn WordPress sur le test de compatibilitĂ© de vos produits avec les versions PHP couvre deux approches courantes : le test manuel dans un environnement PHP cible et le scan avec les rĂšgles PHPCompatibility via PHP_CodeSniffer.
Utilisez les deux signaux ensemble :
- Scan statique dâabord. Trouvez les fonctions supprimĂ©es, signatures obsolĂštes et syntaxe PHP spĂ©cifique Ă une version.
- Test en sandbox ensuite. Confirmez que le plugin démarre, affiche son interface, écrit les options attendues et complÚte son flux de travail réel sur le stack cible.
- Note de régression en dernier. Enregistrez ce qui a échoué, les versions exactes de PHP/WP/plugin et si le problÚme est un avertissement, une erreur fatale, une interface cassée ou un problÚme de données.
Les outils statiques peuvent vous dire quâune ligne de code est peut-ĂȘtre incompatible. Un sandbox vous dit si le plugin fonctionne toujours en tant que produit WordPress.
Ce quâil faut vĂ©rifier lors des tests de versions WP
Les tests de versions WP ne se limitent pas Ă savoir si le plugin sâactive. Les bugs les plus coĂ»teux apparaissent souvent aprĂšs lâactivation, quand un utilisateur modifie du contenu, configure des paramĂštres ou met Ă niveau depuis une version plus ancienne.
Vérifiez ces domaines sur chaque ligne de la matrice :
- Activation et dĂ©sactivation. Le plugin doit sâactiver proprement, se dĂ©sactiver proprement et ne pas laisser le site dans un Ă©tat cassĂ©.
- Chemin de mise Ă jour. Installez la version prĂ©cĂ©dente, crĂ©ez des donnĂ©es exemples, puis mettez Ă jour et confirmez que les migrations sâexĂ©cutent.
- Ăcrans admin et Ă©diteur. Ouvrez chaque menu que le plugin ajoute. Sâil touche aux blocs, shortcodes, embeds, types de contenu personnalisĂ©s ou meta boxes, testez lâĂ©diteur sur chaque version WordPress.
- Sortie front-end. Confirmez que les modĂšles, shortcodes, ressources, redirections, flux de paiement, formulaires ou widgets sâaffichent correctement.
- REST, AJAX et tĂąches planifiĂ©es. Testez les requĂȘtes dâendpoint pertinentes et le comportement dĂ©pendant des crons lĂ oĂč le plugin sâappuie sur des tĂąches en arriĂšre-plan.
- HygiÚne de désinstallation. Désactivez et supprimez dans un sandbox jetable pour vérifier si le comportement de nettoyage est acceptable.
Gardez cette liste de contrÎle cohérente. Si chaque testeur invente un nouveau chemin dans wp-admin, votre matrice devient plus difficile à comparer.
Une matrice pratique pour la version dâun plugin
Voici une matrice compacte pour une équipe de plugin qui prépare une version :
| Ligne de test | PHP | WordPress | Build du plugin | Objectif |
|---|---|---|---|---|
| Support de base | 8.1 | 6.8 | Candidat à la version | Confirmer que le runtime le plus ancien supporté fonctionne toujours |
| Cible actuelle | 8.4 | 6.9 | Candidat à la version | Confirmer que le stack de démo et de support par défaut fonctionne |
| Vérification la plus récente | 8.5 | 7.0 | Candidat à la version | Trouver les problÚmes précoces avant que les utilisateurs ne les rencontrent |
| Chemin de mise Ă jour | 8.4 | 6.9 | PrĂ©cĂ©dent â candidat Ă la version | Confirmer que les paramĂštres et donnĂ©es migrent proprement |
Utilisez la matrice comme un critĂšre de mise en production, pas comme une rĂ©flexion aprĂšs coup pour la documentation. Si une ligne Ă©choue, copiez les Ă©tapes exactes, incluez les sorties de dĂ©bogage ou des captures dâĂ©cran, et joignez lâURL temporaire du sandbox tant quâil est encore actif.
Ăchecs de compatibilitĂ© courants Ă surveiller
La plupart des échecs de compatibilité suivent quelques schémas :
- Erreur fatale Ă lâactivation. GĂ©nĂ©ralement causĂ©e par des fonctions PHP supprimĂ©es, des classes manquantes, des problĂšmes de chargement automatique des dĂ©pendances, ou du code qui sâexĂ©cute trop tĂŽt.
- Avertissements qui deviennent bruyants sur PHP plus rĂ©cent. Les propriĂ©tĂ©s dynamiques, les arguments nullables, les hypothĂšses de typage strict et les signatures obsolĂštes peuvent inonder les journaux mĂȘme quand la page semble fonctionner.
- Rupture de lâĂ©diteur. Le plugin fonctionne en front-end mais lâĂ©diteur de blocs Ă©choue sur WordPress plus rĂ©cent.
- Ăchecs AJAX, REST ou de mise Ă jour. La gestion des nonces, lâenregistrement des routes, les options enregistrĂ©es ou les tables personnalisĂ©es peuvent rĂ©vĂ©ler des hypothĂšses fragiles.
- Conflits de dĂ©pendances. Deux plugins peuvent embarquer des versions incompatibles dâune bibliothĂšque PHP partagĂ©e ou dâun package JavaScript.
Quand une ligne Ă©choue, ne sautez pas directement à « PHP est incompatible ». RĂ©exĂ©cutez le mĂȘme plugin sur la mĂȘme version WordPress avec la version PHP prĂ©cĂ©dente, puis changez WordPress en gardant PHP stable. Isoler une dimension Ă la fois est la façon de trouver la vraie ligne de faute.
OĂč se situe le sandbox
Un sandbox WordPress jetable est idĂ©al pour les tests de fumĂ©e de compatibilitĂ©, les vĂ©rifications de version candidate, la reproduction de tickets support, les liens de dĂ©mo et la QA rapide de plugins. Utilisez le staging ou un environnement local quand le test dĂ©pend dâune base de donnĂ©es façonnĂ©e pour la production, de fichiers persistants, dâune configuration serveur particuliĂšre ou dâun dĂ©bogage de longue durĂ©e.
Le flux de travail pratique se construit en couches : scannez le code, exécutez les tests automatisés, utilisez les sandboxes wp.run pour les vérifications de compatibilité PHP et WordPress au niveau produit, puis passez au staging seulement quand vous devez vérifier un site précis.
Questions fréquentes
Quâest-ce que la compatibilitĂ© PHP WordPress ? La capacitĂ© de WordPress core, dâun plugin ou dâun thĂšme Ă fonctionner correctement sur une version PHP spĂ©cifique. Pour les plugins, la compatibilitĂ© doit ĂȘtre testĂ©e dans un vrai environnement WordPress, car le plugin dĂ©pend des hooks WordPress, des Ă©crans dâadministration, du comportement de la base de donnĂ©es et dâautre code actif.
Comment tester un plugin sur PHP 8.4 ? Lancez un sandbox wp.run avec PHP 8.4, confirmez la version PHP dans SantĂ© du site, installez le plugin, puis exĂ©cutez les vĂ©rifications dâactivation, admin, Ă©diteur, front-end, REST/AJAX et dĂ©sinstallation. RĂ©pĂ©tez la mĂȘme liste de contrĂŽle sur la version PHP prĂ©cĂ©dente si vous devez isoler un Ă©chec spĂ©cifique Ă PHP.
La compatibilitĂ© de WordPress core signifie-t-elle que mon plugin est aussi compatible ? Non. WordPress core peut ĂȘtre compatible avec une version PHP tandis quâun plugin Ă©choue toujours Ă cause de son propre code, de ses dĂ©pendances, de son interface admin ou de sa logique de mise Ă jour. Utilisez le tableau de compatibilitĂ© de WordPress core comme rĂ©fĂ©rence, puis testez le plugin sĂ©parĂ©ment.
Combien de combinaisons PHP et WordPress dois-je tester ? Testez la plus ancienne que vous supportez, la version par défaut actuelle que vous attendez des utilisateurs et la plus récente que vous voulez anticiper. Ajoutez des lignes pour les chemins de mise à jour, les dépendances ou les environnements signalés par les clients quand cela compte.
Rendez les tests de compatibilité reproductibles
Le meilleur processus de compatibilitĂ© est ennuyeux : une matrice, une liste de contrĂŽle, un journal de rĂ©sultats, rĂ©pĂ©tĂ©s pour chaque version candidate. wp.run vous donne la couche dâenvironnement rapide pour ce processus : WordPress propre, versions PHP et WordPress sĂ©lectionnables, accĂšs admin gĂ©nĂ©rĂ©, et sandboxes temporaires que vous pouvez jeter une fois chaque ligne terminĂ©e.