Aller au contenu principal

Exemples de Blueprints

astuce

Consultez la Galerie de Blueprints pour explorer des exemples de code réels utilisant WordPress Playground pour lancer un site WordPress avec une variété de configurations.

Voyons quelques choses intéressantes que vous pouvez faire avec les Blueprints.

Installer un Thème et un Plugin

{
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "coblocks"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "pendant"
}
}
]
}

L'objet meta

L'objet optionnel meta fournit des informations descriptives sur votre Blueprint. Bien qu'il n'affecte pas l'exécution du Blueprint, ces informations sont cruciales pour l'affichage dans les galeries, les sélecteurs de Blueprint et les outils intégrés tels que WordPress Studio et la Galerie de Blueprints.

Propriétés

ChampTypeDescription
titlestringUn nom court et lisible pour le Blueprint.
descriptionstringUn bref résumé expliquant la configuration.
authorstringLe nom ou l'identifiant du créateur.
categoriesarray<string>Balises utilisées pour filtrer et regrouper les Blueprints.
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"meta": {
"title": "Configuration par Défaut du Playground",
"description": "Une configuration de base pour un nouveau site WordPress avec les dernières versions.",
"author": "Équipe Playground",
"categories": ["starter", "default"]
},
"landingPage": "/wp-admin/",
"preferredVersions": {
"php": "8.3",
"wp": "latest"
}
}

Exécuter du code PHP personnalisé

{
"steps": [
{
"step": "runPHP",
"code": "<?php require_once '/wordpress/wp-load.php'; wp_insert_post(array( 'post_title' => 'Post title', 'post_content' => 'Post content', 'post_status' => 'publish', 'post_author' => 1 )); "
}
]
}

Activer une option sur la page des Expériences Gutenberg

Ici : Activez la fonctionnalité "nouvelles vues administrateur".

{
"steps": [
{
"step": "runPHP",
"code": "<?php require '/wordpress/wp-load.php'; update_option( 'gutenberg-experiments', array( 'gutenberg-dataviews' => true ) );"
}
]
}

Comment travailler avec WP-CLI depuis le terminal et Playground

Vous pouvez exécuter des commandes WP-CLI sur une instance Playground depuis votre terminal ou directement dans un Blueprint.

Pour utiliser votre terminal, vous devez d'abord monter le répertoire /wordpress/ et vous assurer que l'intégration de la base de données SQLite est configurée. Ceci est nécessaire car la base de données interne de Playground ne persiste pas sur un site monté, vous devez donc installer explicitement le plugin de base de données via un Blueprint. Cela permet à WP-CLI de reconnaître l'installation WordPress et de se connecter à sa base de données.

remarque

Si vous exécutez des commandes WP-CLI en tant qu'étapes dans votre fichier Blueprint, cette configuration manuelle n'est pas nécessaire.

Le fragment de Blueprint suivant gère cette configuration :

{
"plugins": [
"sqlite-database-integration"
]
}

Pour une explication détaillée de pourquoi cela est nécessaire, consultez la section Dépanner et déboguer les Blueprints.

Présenter une démonstration de produit

{
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "url",
"url": "https://your-site.com/your-plugin.zip"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "url",
"url": "https://your-site.com/your-theme.zip"
}
},
{
"step": "importWxr",
"file": {
"resource": "url",
"url": "https://your-site.com/starter-content.wxr"
}
},
{
"step": "setSiteOptions",
"options": {
"some_required_option_1": "your_favorite_values",
"some_required_option_2": "your_favorite_values"
}
}
]
}

Activer le réseau

{
"landingPage": "/wp-admin/plugin-install.php",
"features": {
"networking": true
},
"steps": [
{
"step": "login"
}
]
}

Charger du code PHP à chaque requête (mu-plugin)

Utilisez l'étape writeFile pour ajouter du code à un mu-plugin qui s'exécute à chaque requête.

{
"landingPage": "/category/uncategorized/",
"features": {
"networking": true
},
"steps": [
{
"step": "login"
},
{
"step": "writeFile",
"path": "/wordpress/wp-content/mu-plugins/rewrite.php",
"data": "<?php add_action( 'after_setup_theme', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('/%postname%/'); $wp_rewrite->flush_rules(); } );"
}
]
}

Éditeur de code (en tant que bloc Gutenberg)

{
"landingPage": "/wp-admin/post.php?post=4&action=edit",
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
},
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "interactive-code-block"
}
},
{
"step": "runPHP",
"code": "<?php require '/wordpress/wp-load.php'; wp_insert_post(['post_title' => 'WordPress Playground block demo!','post_content' => '<!-- wp:wordpress-playground/playground /-->', 'post_status' => 'publish', 'post_type' => 'post',]);"
}
]
}

Vous pouvez partager vos propres exemples de Blueprint dans ce wiki dédié.

Charger une ancienne version de WordPress

Playground ne contient que quelques versions récentes de WordPress. Si vous avez besoin d'utiliser une version plus ancienne, ce Blueprint peut vous aider : modifiez le numéro de version dans "url": "https://playground.wordpress.net/plugin-proxy.php?url=https://wordpress.org/wordpress-6.2.1.zip" de 6.2.1 à la version que vous souhaitez charger.

Note : la version la plus ancienne prise en charge de WordPress est 6.2.1, suite au plugin d'intégration SQLite.

{
"landingPage": "/wp-admin",
"preferredVersions": {
"wp": "https://playground.wordpress.net/plugin-proxy.php?url=https://wordpress.org/wordpress-6.2.1.zip",
"php": "8.3"
},
"features": {
"networking": true
},
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
}
]
}

Exécuter WordPress depuis trunk ou un commit spécifique

WordPress Playground peut exécuter trunk (le dernier commit), le HEAD d'une branche spécifique ou un commit spécifique du référentiel GitHub WordPress/WordPress.

Vous pouvez spécifier la référence dans "url": "https://playground.wordpress.net/plugin-proxy.php?build-ref=trunk".

Pour spécifier le dernier commit d'une branche particulière, vous pouvez changer la référence au numéro de version de la branche, par exemple 6.6. Pour exécuter un commit spécifique, vous pouvez utiliser le hash du commit depuis WordPress/WordPress, par exemple 7d7a52367dee9925337e7d901886c2e9b21f70b6.

Note : la version la plus ancienne prise en charge de WordPress est 6.2.1, suite au plugin d'intégration SQLite.

{
"landingPage": "/wp-admin",
"login": true,
"preferredVersions": {
"php": "8.3",
"wp": "https://playground.wordpress.net/plugin-proxy.php?build-ref=trunk"
}
}

Utilisation des Bundles Blueprint

Voici un exemple de Blueprint qui utilise des ressources groupées à partir d'un bundle Blueprint :

{
"landingPage": "/",
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"steps": [
{
"step": "installTheme",
"themeData": {
"resource": "bundled",
"path": "/my-theme.zip"
},
"activate": true
},
{
"step": "installPlugin",
"pluginData": {
"resource": "bundled",
"path": "/my-plugin.zip"
},
"activate": true
},
{
"step": "writeFile",
"path": "/wordpress/custom-page.html",
"data": {
"resource": "bundled",
"path": "/assets/custom-page.html"
}
}
]
}

Ce bundle Blueprint serait un fichier zip contenant les fichiers suivants :

  • /blueprint.json - La déclaration du blueprint décrite ci-dessus
  • /my-theme.zip - Un paquet de thème
  • /my-plugin.zip - Un paquet de plugin
  • /assets/custom-page.html - Un fichier HTML personnalisé

Vous pouvez utiliser ce bundle Blueprint en :

  1. Créant un fichier ZIP avec ces fichiers et le blueprint.json
  1. Hébergeant le fichier ZIP sur un serveur
  1. Le chargeant avec ?blueprint-url=https://example.com/my-blueprint-bundle.zip

Pour plus d'informations sur les bundles Blueprint, consultez la documentation des Bundles Blueprint.