diff --git a/src/source/content/deploybot.md b/src/source/content/deploybot.md index 766d46eeae..98c944fbf0 100644 --- a/src/source/content/deploybot.md +++ b/src/source/content/deploybot.md @@ -41,9 +41,9 @@ Let's say I use [Composer](/guides/composer) to manage my WordPress site's plugi "vendor-dir": "wp-content/vendor" }, "repositories": { - "wpackagist": { + "wp-packages": { "type": "composer", - "url": "https://wpackagist.org" + "url": "https://repo.wp-packages.org" }, "packagist": { "type": "composer", @@ -51,22 +51,22 @@ Let's say I use [Composer](/guides/composer) to manage my WordPress site's plugi } }, "require-dev": { - "wpackagist-plugin/debug-bar": "dev-trunk" + "wp-plugin/debug-bar": "dev-trunk" }, "require": { "composer/installers": "^1.0.21", "koodimonni/composer-dropin-installer": "*", - "wpackagist-plugin/wp-cfm": "1.*", - "wpackagist-plugin/debug-bar": "dev-trunk", - "wpackagist-plugin/lh-hsts": "1.*", - "wpackagist-plugin/solr-power": "*", - "wpackagist-plugin/pantheon-hud": "0.1.*", - "wpackagist-plugin/wp-native-php-sessions": "0.6", - "wpackagist-plugin/wp-redis": "*", - "wpackagist-plugin/wordpress-seo": "4.*", - "wpackagist-plugin/sendgrid-email-delivery-simplified": "1.*", - "wpackagist-plugin/google-analytics-for-wordpress": "6.1.6", - "wpackagist-theme/twentyseventeen": "1.*" + "wp-plugin/wp-cfm": "1.*", + "wp-plugin/debug-bar": "dev-trunk", + "wp-plugin/lh-hsts": "1.*", + "wp-plugin/solr-power": "*", + "wp-plugin/pantheon-hud": "0.1.*", + "wp-plugin/wp-native-php-sessions": "0.6", + "wp-plugin/wp-redis": "*", + "wp-plugin/wordpress-seo": "4.*", + "wp-plugin/sendgrid-email-delivery-simplified": "1.*", + "wp-plugin/google-analytics-for-wordpress": "6.1.6", + "wp-theme/twentyseventeen": "1.*" }, "extra": { "installer-paths": { @@ -76,7 +76,7 @@ Let's say I use [Composer](/guides/composer) to manage my WordPress site's plugi }, "dropin-paths": { "wp-content": [ - "package:wpackagist-plugin/wp-redis:object-cache.php" + "package:wp-plugin/wp-redis:object-cache.php" ] } } diff --git a/src/source/content/guides/build-tools/09-update.md b/src/source/content/guides/build-tools/09-update.md index 611d06ad64..dc1d83dbfe 100644 --- a/src/source/content/guides/build-tools/09-update.md +++ b/src/source/content/guides/build-tools/09-update.md @@ -40,7 +40,7 @@ Composer encourages a mental model where code not written specifically for a giv Composer looks within [The PHP Package Repository](https://packagist.org/) for dependencies to install, which does not include Drupal or WordPress packages by default. Additional repositories must be configured for Composer to use packages not found in the default repository. Each framework provides it's own respective package repository so dependencies can be managed with Composer: -- WordPress: +- WordPress: or - Drupal: Sites created from Pantheon's example repositories already include the appropriate package repository within the `composer.json` file. diff --git a/src/source/content/guides/decoupled/wp-backend-starters/03-caching.md b/src/source/content/guides/decoupled/wp-backend-starters/03-caching.md index 27175a6db4..5eaa846c5e 100644 --- a/src/source/content/guides/decoupled/wp-backend-starters/03-caching.md +++ b/src/source/content/guides/decoupled/wp-backend-starters/03-caching.md @@ -68,7 +68,7 @@ We recommend leaving the object cache option disabled when using this plugin on 1. Run the following Composer command: ```bash{promptUser: user} - composer require wpackagist-plugin/pantheon-advanced-page-cache + composer require wp-plugin/pantheon-advanced-page-cache ``` 1. Open the WordPress dashboard and enable the Pantheon Advanced Page Cache plugin. diff --git a/src/source/content/guides/integrated-composer/01-introduction.md b/src/source/content/guides/integrated-composer/01-introduction.md index 7abfd22429..1469f9dbd3 100644 --- a/src/source/content/guides/integrated-composer/01-introduction.md +++ b/src/source/content/guides/integrated-composer/01-introduction.md @@ -70,7 +70,7 @@ Composer encourages a mental model where code not written specifically for a giv Composer looks within [The PHP Package Repository](https://packagist.org/) for dependencies to install, which does not include Drupal or WordPress packages by default. Additional repositories must be configured for Composer to use packages not found in the default repository. Each framework provides its own respective package repository so dependencies can be managed with Composer: -- WordPress: +- WordPress: or - Drupal: `https://packages.drupal.org/8` ## Managing Core as a Project Dependency diff --git a/src/source/content/guides/integrated-composer/03-dependencies.md b/src/source/content/guides/integrated-composer/03-dependencies.md index 9be4d09ef7..a9bd327eb5 100644 --- a/src/source/content/guides/integrated-composer/03-dependencies.md +++ b/src/source/content/guides/integrated-composer/03-dependencies.md @@ -76,9 +76,11 @@ When running `composer install` on a local clone of your Pantheon site's reposit [Packagist](https://packagist.org) is a repository of Composer packages that are available by default to projects managed by Composer. Packagist libraries receive updates from their source GitHub repositories automatically. -[WPackagist](https://wpackagist.org) is a Packagist-like mirror of the WordPress.org [plugin](https://wordpress.org/plugins) and [theme](https://wordpress.org/themes) repositories and is included with Bedrock out of the box. +[WP Packages](https://wp-packages.org) is a Packagist-like mirror of the WordPress.org [plugin](https://wordpress.org/plugins) and [theme](https://wordpress.org/themes) repositories and is included with Bedrock out of the box. -You can install packages from Packagist or WPackagist without any additional configuration using `composer require`. +[WPackagist](https://wpackagist.org) is another longstanding Composer mirror for WordPress plugins and themes maintained by [WPEngine in 2026](https://wpengine.com/blog/wp-engine-acquires-wpackagist/). + +You can install packages from Packagist, WPackagist or WP Packages without any additional configuration using `composer require`. ##### Require a Package from Packagist @@ -91,21 +93,27 @@ composer require yoast/wordpress-seo Packages that are flagged as `wordpress-plugin`, `wordpress-theme` or `wordpress-muplugin` in their `composer.json` files will be installed automatically in the appropriate `web/app/` directory by Composer. -##### Requiring a package from WPackagist +##### Requiring a package from WP Packages or WPackagist + +For all other plugins and themes that are not managed on Packagist, you can use `composer require` as well, using `wp-plugin`/`wp-theme` (for WP Packages) or `wpackagist-plugin`/`wpackagist-theme` (for WPackagist) as the vendor and the plugin or theme slug as the package name. + + + +It is possible to use multiple different Composer repositories, e.g. WPackagist and WP Packages side-by-side. Since they use different vendor names for plugins and themes (`wpackagist-*` and `wp-*` respectively), there is no conflict in using both simultaneously. However, there's no specific benefit in using both. It's recommended to choose one provider in your `composer.json` file and using that provider's vendor prefix for WordPress plugins or themes. -For all other plugins and themes that are not managed on Packagist, you can use `composer require` as well, using `wpackagist-plugin` or `wpackagist-theme` as the vendor and the plugin or theme slug as the package name. + ```bash{promptUser: user} -composer require wpackagist-theme/twentytwentytwo +composer require wp-theme/twentytwentytwo ``` ```bash{promptUser: user} -composer require wpackagist-plugin/advanced-custom-fields +composer require wp-plugin/advanced-custom-fields ``` ##### Check first -It's generally a good idea when using either Packagist or WPackagist to check the repository before `require`ing the package. If you search Packagist for a WordPress plugin or theme and don't see it, you can be sure that if it exists in the WordPress plugin or theme repository, it will be available on WPackagist. Checking WPackagist for the package can be beneficial if you want to check what versions are available. +It's generally a good idea when using either Packagist, WP Packages or WPackagist to check the repository before `require`ing the package. If you search Packagist for a WordPress plugin or theme and don't see it, you can be sure that if it exists in the WordPress plugin or theme repository, it will be available on WP Packages or WPackagist. Checking the WordPress package repositories for the package can be beneficial if you want to check what versions are available. diff --git a/src/source/content/guides/wordpress-configurations/08-installing-updating-from-third-party-sources.md b/src/source/content/guides/wordpress-configurations/08-installing-updating-from-third-party-sources.md index d7db9363f5..3fa4efbf4b 100644 --- a/src/source/content/guides/wordpress-configurations/08-installing-updating-from-third-party-sources.md +++ b/src/source/content/guides/wordpress-configurations/08-installing-updating-from-third-party-sources.md @@ -94,8 +94,8 @@ The [Composer documentation provides guidance](https://getcomposer.org/doc/05-re For more information about using WordPress and Composer, refer to our [Integrated Composer documentation](https://docs.pantheon.io/guides/integrated-composer). For an example of how to use a custom Composer repository for a premium plugin, see our [Object Cache Pro documentation for our WordPress (Composer Managed) upstream](https://docs.pantheon.io/object-cache/wordpress#installation-and-configuration-for-composer-managed-wordpress-sites). -For WordPress, [WPackagist.org](https://wpackagist.org) acts as a Composer-based mirror of the WordPress.org plugin and theme repository. -WPackagist allows Composer-based WordPress installs to require any plugin or theme that exists in the WordPress repository. Referencing plugins through WPackagist will pull code from WordPress.org. +For WordPress, [WP Packages](https://wp-packages.org) and [WPackagist](https://wpackagist.org) act as a Composer-based mirrors of the WordPress.org plugin and theme repository. +WP Packages and WPackagist allow Composer-based WordPress installs to require any plugin or theme that exists in the WordPress repository. Referencing plugins through WP Packages or WPackagist will pull code from WordPress.org. For the purpose of this document, we will focus only on including packages from third-party sources. ### Adding a plugin from Packagist.org diff --git a/src/source/content/guides/wordpress-developer/02-wordpress-best-practices.md b/src/source/content/guides/wordpress-developer/02-wordpress-best-practices.md index 50cbcd7f38..6f60f63f3c 100644 --- a/src/source/content/guides/wordpress-developer/02-wordpress-best-practices.md +++ b/src/source/content/guides/wordpress-developer/02-wordpress-best-practices.md @@ -33,7 +33,7 @@ This section provides suggestions for best practices to develop and manage WordP ## Plugins -- Add [Composer](/guides/composer) and pull your WordPress plugins from [wpackagist.org](https://wpackagist.org/). WordPress Packagist mirrors the WordPress.org plugin repository and adds a `composer.json` file to your files. This makes future debugging simpler if you need to switch between multiple plugin or WordPress versions to see what caused something to break. Running `composer install` on the environments is not supported (just as Git submodules are not supported). You must commit the dependencies that Composer downloads on Pantheon to workaround this even though [committing Composer dependencies is generally not recommended](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md). +- Add [Composer](/guides/composer) and pull your WordPress plugins from [WP Packages](https://wp-packages.org/). WP Packages mirrors the WordPress.org plugin repository and adds a `composer.json` file to your files. This makes future debugging simpler if you need to switch between multiple plugin or WordPress versions to see what caused something to break. Running `composer install` on the environments is not supported (just as Git submodules are not supported). You must commit the dependencies that Composer downloads on Pantheon to workaround this even though [committing Composer dependencies is generally not recommended](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md). - If you have a custom plugin that retrieves a specific post (or posts), use the `get_post()` function instead of using `wp_query()`. `wp_query` can be useful in some situations, however, the [get_post](https://developer.wordpress.org/reference/functions/get_post/) function is built specifically to retrieve a WordPress Post object. diff --git a/src/source/content/partial-composer.md b/src/source/content/partial-composer.md index 21fafe895b..56742f40d8 100644 --- a/src/source/content/partial-composer.md +++ b/src/source/content/partial-composer.md @@ -48,7 +48,7 @@ Use the `init` command to create a `composer.json` file that includes the approp 1. Initialize composer to create a `composer.json` file with the WordPress package repository: ```bash{promptUser: user} - composer init --repository=https://wpackagist.org --no-interaction + composer init --repository=https://repo.wp-packages.org --no-interaction ``` 1. Edit the `composer.json` to add extra configuration that specifies installation paths for WordPress plugins and themes. @@ -64,7 +64,7 @@ Use the `init` command to create a `composer.json` file that includes the approp "repositories": [ { "type": "composer", - "url": "https://wpackagist.org" + "url": "https://repo.wp-packages.org" } ], "require": {}, @@ -152,12 +152,12 @@ Note that Pantheon does not run `composer install` on the platform, so you need 1. Require the plugin, [Pantheon Advanced Page Cache](https://wordpress.org/plugins/pantheon-advanced-page-cache/) for example, with Composer: ```bash{promptUser: user} - composer require wpackagist-plugin/pantheon-advanced-page-cache + composer require wp-plugin/pantheon-advanced-page-cache ``` 1. Review modified files using `git status`, you should see the module has been installed in the `wp-content/plugins` directory like so: - ![Require wpackagist-plugin/pantheon-advanced-page-cache output](../images/guides/partial-composer/require-papc-plugin.png) + ![Require wp-plugin/pantheon-advanced-page-cache output](../images/guides/partial-composer/require-papc-plugin.png) Notice a missing dependency was also installed, `composer/installers`. This package is needed to support the installation paths configured in the previous section, and needs to be tracked in version control.