You can install and manage PublishPress plugins using Composer with WPStarter, Bedrock, or any setup.
Key difference: Pro plugins require authentication to our private repositories. Free plugins don't.
Note: WPStarter/Bedrock aren't required—they're optional tools for managing WordPress itself via Composer.
Composer Setup for PublishPress Pro Plugins #
Activating the license key for your site #
You must activate your license key for each site where you use it.
Steps:
- Go to https://publishpress.com/dashboard/
- Click “Manage Sites” for your license key
- Enter the site URL and click “Add”
Configuring composer.json #
Add https://pkg.publishpress.com/v1 as a Composer repository in your composer.json:
{
"repositories": [
{
"type": "composer",
"url": "https://pkg.publishpress.com/v1"
}
],
"require": {
"publishpress/publishpress-future-pro": "^1.0",
"publishpress/publishpress-authors-pro": "^1.0"
}
}
Note: Replace "*" with proper version constraints (e.g., "^1.0", "~2.3.0") per Composer's versioning.
Available packages:
publishpress/publishpress-future-propublishpress/publishpress-authors-propublishpress/publishpress-checklists-propublishpress/publishpress-capabilities-propublishpress/publishpress-planner-propublishpress/publishpress-permissions-propublishpress/publishpress-statuses-propublishpress/publishpress-blocks-propublishpress/publishpress-series-propublishpress/publishpress-revisions-pro
Authenticating Pro Plugins #
Create auth.json with your license credentials
{
"http-basic": {
"pkg.publishpress.com": {
"username": "YOUR_LICENSE_KEY",
"password": "YOUR_SITE_URL"
}
}
}
Security: Add auth.json to .gitignore to avoid committing credentials.
Composer Setup for PublishPress Free Plugins #
Install free plugins via wpackagist.org.
Package names:
- PublishPress Authors:
wpackagist-plugin/publishpress-authors - PublishPress Future:
wpackagist-plugin/post-expirator - PublishPress Blocks:
wpackagist-plugin/advanced-gutenberg - PublishPress Capabilities:
wpackagist-plugin/capability-manager-enhanced - PublishPress Revisions:
wpackagist-plugin/revisionary - PublishPress Permissions:
wpackagist-plugin/press-permit-core - PublishPress Checklists:
wpackagist-plugin/publishpress-checklists - PublishPress Planner:
wpackagist-plugin/publishpress - PublishPress Statuses:
wpackagist-plugin/publishpress-statuses - PublishPress Series:
wpackagist-plugin/organize-series
Installing From a Local Path #
Composer supports installing packages from local directories instead of remote repositories. Download the plugin ZIP files and extract them to your chosen folder, then configure your repository:
{
"repositories": [
{
"type": "path",
"url": "../../packages/the-plugin-package"
}
]
}
Replace ../../packages/the-plugin-package with your actual path relative to composer.json.
Directory Names #
Legacy naming: Some plugins (Blocks, Capabilities, Future) use legacy folder names when installed via WordPress admin or ZIP upload.
Composer naming: When installed via Composer, all plugins use the package name from your composer.json require setting as the folder name.
Example: publishpress/publishpress-future-pro installs to /publishpress-future-pro/ instead of the legacy folder name.
Switching to Composer for Existing Plugins #
If you've previously installed a PublishPress plugin through WordPress and want to manage it using Composer, follow these steps:
- Backup your site
- Delete the plugin folder from your WordPress plugins directory to avoid conflicts
- Add the plugin to composer.json following the instructions above
- Run
composer update - Visit the admin panel – any required migration tasks will run automatically
