Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions src/source/content/deploybot.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,32 +41,32 @@ 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",
"url": "https://packagist.org/"
}
},
"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": {
Expand All @@ -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"
]
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/source/content/guides/build-tools/09-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: <https://wpackagist.org>
- WordPress: <https://wp-packages.org> or <https://wpackagist.org>
- Drupal: <https://packages.drupal.org/7>

Sites created from Pantheon's example repositories already include the appropriate package repository within the `composer.json` file.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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: <https://wpackagist.org>
- WordPress: <https://wp-packages.org> or <https://wpackagist.org>
- Drupal: `https://packages.drupal.org/8`

## Managing Core as a Project Dependency
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Comment thread
jazzsequence marked this conversation as resolved.

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/).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[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/).
[WPackagist](https://wpackagist.org) is another longstanding Composer mirror for WordPress plugins and themes acquired by [WPEngine in 2026](https://wpengine.com/blog/wp-engine-acquires-wpackagist/).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stevector I felt like documenting acquisitions was putting our thumb on the needle a little more than I'd like, but I recognize that "maintained by __ in ___" sounds off. what about:

Suggested change
[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/).
[WPackagist](https://wpackagist.org) is another longstanding Composer mirror for WordPress plugins and themes maintained by [WPEngine since April 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

Expand All @@ -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.

<Alert title="Choosing a Composer repository or using multiple" type="info">

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.
</Alert>


```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.

</Tab>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
8 changes: 4 additions & 4 deletions src/source/content/partial-composer.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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": {},
Expand Down Expand Up @@ -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.

Expand Down
Loading