Format des données Blueprint
Un fichier JSON de Blueprint peut contenir de nombreuses propriétés différentes qui seront utilisées pour définir votre instance Playground. Les propriétés les plus importantes sont détaillées ci-dessous.
Voici un exemple qui en utilise plusieurs :
{
"landingPage": "/wp-admin/",
"preferredVersions": {
"php": "8.3",
"wp": "6.5"
},
"features": {
"networking": true
},
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
}
]
}
Schéma JSON
Les fichiers JSON peuvent être fastidieux à écrire et il est facile de s’y
tromper. Pour vous aider, Playground fournit un fichier
schéma JSON que vous
pouvez utiliser pour obtenir l’autocomplétion et la validation dans votre
éditeur. Définissez simplement la propriété $schema comme suit :
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
}
Page d’arrivée
La propriété landingPage indique à Playground vers quelle URL naviguer après
l’exécution du Blueprint. C’est un excellent outil, en particulier lors de la
création de démos de thèmes ou d’extensions. Souvent, vous voudrez démarrer
Playground dans l’éditeur de site ou ouvrir un article précis dans l’éditeur
d’articles. Assurez-vous d’utiliser un chemin relatif.
{
"landingPage": "/wp-admin/site-editor.php",
}
Versions préférées
La propriété preferredVersions déclare vos versions préférées de PHP et de
WordPress. Elle peut contenir les propriétés suivantes :
php(string) : charge la version PHP indiquée. Accepte7.4,8.0,8.1,8.2,8.3,8.4,8.5oulatest. Les versions mineures comme7.4.1ne sont pas prises en charge.wp(string) : charge la version WordPress indiquée. Accepte les sept dernières versions majeures de WordPress. Au 28 avril 2026, il s’agit de6.3,6.4,6.5,6.6,6.7,6.8ou6.9. Vous pouvez aussi utiliser les valeurs génériqueslatest,betaounightly(aliastrunk).betacorrespond à la bêta ou Release Candidate la plus récente d’un cycle de publication actif ;nightly/trunkest construit directement depuis la branche de développement de WordPress.
{
"preferredVersions": {
"php": "8.3",
"wp": "6.7"
},
}
Fonctionnalités
Vous pouvez utiliser la propriété features pour activer ou désactiver
certaines fonctionnalités de l’instance Playground. Elle peut contenir les
propriétés suivantes :
networking: vauttruepar défaut. Active ou désactive la prise en charge réseau de Playground. Si elle est activée,wp_safe_remote_getet les fonctions WordPress similaires utiliseront réellementfetch()pour effectuer des requêtes HTTP. Si elle est désactivée, elles échoueront immédiatement. Cette propriété doit être activée si vous voulez que l’utilisateur puisse installer des extensions ou des thèmes.
{
"features": {
"networking": false
},
}
Bibliothèques supplémentaires
Vous pouvez précharger des bibliothèques supplémentaires dans l’instance Playground. Les bibliothèques suivantes sont prises en charge :
wp-cli: active la prise en charge de WP-CLI pour Playground. Si elle est incluse, WP-CLI sera installé pendant le démarrage. Si elle n’est pas incluse, vous obtiendrez un message d’erreur en essayant d’exécuter des commandes WP-CLI avec l’API JS. WP-CLI sera installé par défaut si le Blueprint contient des étapeswp-cli.
{
"extraLibraries": [ "wp-cli" ],
}
Étapes
Sans doute la propriété la plus puissante, steps vous permet de configurer
l’instance Playground avec des thèmes, des extensions, du contenu de démo
préinstallés, et plus encore. L’exemple suivant connecte l’utilisateur avec un
nom d’utilisateur et un mot de passe dédiés. Il installe et active ensuite
l’extension Gutenberg. En savoir plus sur les étapes.
{
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
},
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "gutenberg"
}
},
]
}
Erreurs courantes de placement des propriétés
Les erreurs de validation de Blueprint viennent souvent d’une propriété valide placée dans le mauvais objet.
Activer une extension ou un thème
activate doit se trouver dans options, pas dans pluginData, themeData ni
directement sur l’étape.
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "gutenberg"
},
"options": {
"activate": true
}
}
Installer des extensions avec le raccourci
Le raccourci plugins est une propriété de premier niveau du Blueprint. Ne le
placez pas dans preferredVersions.
{
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"plugins": ["gutenberg"]
}
Utiliser une seule forme d’installation d’extension
Pour une étape installPlugin, utilisez pluginData. Ne mélangez pas
pluginData avec d’anciens exemples ou des objets personnalisés comme
pluginZipFile.
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "woocommerce"
},
"options": {
"activate": true
}
}
La ressource wordpress.org/plugins nécessite un slug séparé. N’écrivez pas
le slug dans la valeur resource, comme "wordpress.org/plugins/woocommerce".
Limiter preferredVersions aux versions
preferredVersions accepte uniquement php et wp. Utilisez features pour
le réseau, plugins ou installPlugin pour les extensions, et steps pour les
tâches de configuration ordonnées.
Utiliser des étapes explicites lorsque l’ordre compte
Les raccourcis comme plugins, login, siteOptions et constants sont
développés avant le tableau steps. Si une action doit avoir lieu avant une
autre, écrivez les deux actions sous forme d’étapes explicites dans l’ordre
nécessaire.